【问题标题】:'webdriver' executable needs to be in PATH'webdriver' 可执行文件需要在 PATH 中
【发布时间】:2020-07-22 15:25:13
【问题描述】:

我正在尝试使用 selenium,但我不断收到错误消息:

Traceback (most recent call last):
  File "C:\Users\jensa\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
    stdin=PIPE)
  File "C:\Users\jensa\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "C:\Users\jensa\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "seleniumtest.py", line 5, in <module>
    driver = webdriver.Chrome(executable_path=path)
  File "C:\Users\jensa\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
    self.service.start()
  File "C:\Users\jensa\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 83, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'webdriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

我真的很困惑,因为没有任何在线帮助我。 chromedriver 的文件夹位于 PATH 中。

我尝试将 python 文件放在与驱动程序相同的文件夹和不同的文件夹中。

我尝试通过executable_path 指定位置。我尝试在可执行文件路径中包含和不包含“.exe”。没有任何效果。有人可以帮我完成这项工作。这是我的代码:

from selenium import webdriver

chromedriver = r"\C:\bin\chromedriver"
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")

【问题讨论】:

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


    【解决方案1】:

    您需要提供chrome驱动二进制路径,请下载支持您浏览器版本的最新chrome驱动: 你可以下载Latest Chrome driver from here

    from selenium import webdriver
    driver = webdriver.Chrome(executable_path=r"C:\bin\chromedriver.exe")
    driver.maximize_window()
    driver.get("url")
    

    【讨论】:

    • 我还没开始就下载了
    • @TabulateJarl8 应该是 chromedriver.exe,检查更新的解决方案
    • 是的,文件的路径是 C:\bin\chromedriver.exe,我将 C:\bin 添加到我的 PATH 变量中
    • 这是我的路径变量的截图:imgur.com/4HEDxow
    • 您正在设置环境变量,并且在脚本中您还传递了绝对路径,所以设置环境变量有什么用。它不需要tbh。还导航到 C:\bin\ 并检查其中是否存在 chromedriver.exe,然后双击它会启动 cmd 提示符,您可以看到会话已创建。当您看到消息时:'webdriver' 可执行文件需要在 PATH 中。表示 driver = webdriver.Chrome(executable_path=r" binary path") 的消息
    【解决方案2】:

    如果它在 PATH 中,则无需在您的代码中引用。

    只需编写以下代码

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("http://stackoverflow.com")
    

    【讨论】:

    • @TabulateJarl8 你试过重启你的电脑吗?
    猜你喜欢
    • 2018-10-31
    • 1970-01-01
    • 2017-12-08
    • 2017-11-21
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 2017-03-04
    相关资源
    最近更新 更多