DeprecationWarning: executable_path 已被弃用,请传入一个Service对象

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

我今天开始学习 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:。任何人都可以指导我为什么要 happening/how 修复它吗?

这个错误信息...

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

...暗示 key executable_path 将在即将发布的版本中弃用。

此更改与 Selenium 4.0 Beta 1 changelog 内联,其中提到:

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


解决方案

一旦 key executable_path 被弃用,您必须使用 Service() class如下:

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

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

TL;博士

您可以在以下位置找到一些相关的详细讨论: