【问题标题】:DeprecationWarning: executable_path has been deprecated, please pass in a Service objectDeprecationWarning: executable_path has been deprecated, please pass in a Service object
【发布时间】:2023-09-13 14:00:01
【问题描述】:

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

我的代码:

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:。谁能指导我为什么会发生这种情况/如何解决它?

【问题讨论】:

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


    【解决方案1】:

    此错误消息...

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

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

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

    在驱动程序实例化中弃用除 OptionsService 之外的所有参数。 (#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;博士

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

    【讨论】:

    • 代码设置如何解决这个问题?
    • @Blutch 查看更新的答案,如果有任何其他问题,请告诉我。请accept answer 点击我的 answer 旁边的空心刻度线,该刻度线就在 votedown 箭头下方,这样刻度线就会转动绿色.
    • 我收到此错误消息:“chromedriver.exe”可执行文件需要在 PATH 中。请看chromedriver.chromium.org/home 在处理上述异常的过程中,又出现了一个异常:文件“/Users/blutch/Documents/Python Tutorials/Selenium Tutorial.py”, line 5, in driver = webdriver.Chrome(service=s ) 我正在使用上面的代码并添加了 driver.get(url) 命令。我也用我的路径替换了路径。我不确定为什么会发生这种情况
    • @Blutch 对于 Message: 'chromedriver.exe' executable needs to be in PATH 错误,请查看thisthisthis 讨论。
    最近更新 更多