Selenium 服务 class 有什么作用?

What does Selenium Service class do?

我很好奇 Selenium class 所谓的“服务”是什么。

这对于设置 Chrome 驱动程序是否有用,而不是通过 my_driver = webdriver.Chrome(...) 调用网络驱动程序?

我查阅了文档,但它们对描述目的没有帮助:

Service 是 selenium 4 中引入的用于启动 webdriver 的新 class:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

driver = webdriver.Chrome(service=Service(your_chromedriver_path))

以前的方法已弃用:

driver = webdriver.Chrome(executable_path=your_chromedriver_path)

事实上,如果您 运行 它,它会发出警告

DeprecationWarning: executable_path has been deprecated, please pass in a Service object

引入此服务来管理驱动程序进程。这样您就可以在测试完成后将其杀死。

基本上调用 quit 不会对 webdriver 施加任何义务以停止作为进程存在。相反,webdriver 是一种旨在处理来自不同客户端的并发会话的服务。因此,一旦您的测试停止,webdriver 可能仍然是 运行.

当您使用 Service 开始测试时,您现在可以获得一个界面,可以使用获得的引用终止该远程进程。