python-3.x - DeprecationWarning : executable_path has been deprecated, 请传入一个服务对象

标签 python-3.x selenium selenium-webdriver selenium-chromedriver

我今天开始了一个 Selenium 教程,并在尝试运行代码时遇到了这个错误。我试过其他方法,但最终得到同样的错误。我在 MacOS 上使用 VSC。
我的代码:

from selenium import webdriver

PATH = '/Users/blutch/Documents/Chrom Web Driver\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.get("https://www.google.com")

我也试过在/Users 前面插入 C:。任何人都可以指导我为什么会发生这种情况/如何解决它?

最佳答案

这个错误信息...

DeprecationWarning: executable_path has been deprecated, please pass in a Service object
...暗示 key executable_path将在即将发布的版本中弃用。
此更改符合 Selenium 4.0 测试版 1 changelog其中提到:

Deprecate all but Options and Service arguments in driver instantiation. (#9125,#9128)



解决方案
曾经的 key executable_path已弃用,您必须使用 Service() 的实例类如下:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

s = Service('C:/Users/.../chromedriver.exe')
driver = webdriver.Chrome(service=s)

TL; DR
您可以在以下位置找到一些相关的详细讨论:
  • 错误报告:deprecate all but Options and Service arguments in driver instantiation
  • 拉取请求:deprecate all but Options and Service arguments in driver instantiation
  • 关于python-3.x - DeprecationWarning : executable_path has been deprecated, 请传入一个服务对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69918148/

    相关文章:

    selenium - Java Selenium - 使用 xpath 搜索未找到搜索元素

    python - 填充数据框列Python中的缺失值

    python - 用 Pandas 数据框中另一列的值填充多列中的 Na

    python - 返回条件语句

    python - Scrapy 与多处理兼容吗?

    java - assertTrue() 没有抛出 AssertionError

    java - 通过系统属性检查是否安装了 FirefoxDriver 或 ChromeDriver?

    python - 在不知道键的情况下查找字典值的类型

    python - 加快 Selenium 中的网络抓取速度

    javascript - 如何从谷歌搜索结果 "20-pack"条目中提取源?