📌  相关文章
📜  DeprecationWarning: executable_path has been deprecated, please pass in a Service object - 不管(1)

📅  最后修改于: 2023-12-03 15:30:26.346000             🧑  作者: Mango

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

简介

这个警告是由于使用 selenium 的 Python 版本时,使用 executable_path 指定驱动路径时出现的。在新版的 selenium 中,这个方法已经被弃用,推荐使用 Service 对象来指定驱动路径。

解释

selenium.webdriver.common.service.Service 是一个包装了浏览器驱动可执行文件的类,它允许你在创建浏览器对象时指定可执行文件路径。以 Chrome 浏览器为例,你可以这样使用:

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

service = Service('/path/to/chromedriver')
driver = webdriver.Chrome(service=service)

这里的 webdriver.Chrome 是创建 Chrome 浏览器对象的类。我们通过实例化 Service 对象,来将 Chrome 的驱动可执行文件的路径传递给浏览器对象。

示例

以下是旧版和新版的使用方法对比:

# 旧版
from selenium import webdriver

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

# 新版
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service('/path/to/chromedriver')
driver = webdriver.Chrome(service=service)
总结

在使用 selenium 时,我们应当注意更新版本和使用最新的语法,避免使用过时的方法。使用 Service 对象来指定浏览器驱动可执行文件的路径是当前最佳实践。