首页 > 解决方案 > Chromedriver 未从 PATH 打开,直接链接时或在项目文件夹中时不会打开

问题描述

我已经在一个项目上工作了一段时间。直到最近,无论出于何种原因,我都开始收到错误消息:

selenium.common.exceptions.WebDriverException:消息:“chromedriver”可执行文件需要在 PATH 中。请参阅https://sites.google.com/a/chromium.org/chromedriver/home

这很奇怪,因为我已经在 PATH 中有 chromedriver。我还在与我一直在从事的项目相同的文件夹中安装了 chromedriver。我还创建了一个名为 moo.py 的测试文件。这是非常基本的,目的是测试 chromedriver。代码如下:

from selenium.webdriver.chrome.options import Options
from time import sleep
from selenium import webdriver

options = Options()
options.binary_location = 'C:\Program Files\Google\Chrome\Application\chrome.exe'
driver = webdriver.Chrome(executable_path=r'C:\webdrivers\chromedriver.exe', chrome_options = options)
driver.get('https://www.google.com')
print('Chrome opened')
time.sleep(5)
driver.quit()

即使运行它,它仍然给我同样的错误。我不太确定现在该怎么做,因为我已经尝试了几种我知道的方法来解决这个问题。我将不胜感激任何和所有的反馈。亲切的问候。

编辑 1:Chromedriver 正在 PATH 中积极工作。

C:>chromedriver 在端口 9515 上启动 ChromeDriver 92.0.4515.107 (87a818b10553a07434ea9e2b6dccf3cbe7895134-refs/branch-heads/4515@{#1634}) 只允许本地连接。有关保持 ChromeDriver 安全的建议,请参阅 https://chromedriver.chromium.org/security-considerations。ChromeDriver 已成功启动。

这就是我在 cmd 中键入 chromedriver 时的响应,其中 C:\ 作为 cd。

一些附加信息,我使用的是 Windows 10 笔记本电脑。Chromedriver 之前工作正常,然后似乎突然停止了。

from selenium.webdriver.chrome.options import Options
from time import sleep
from selenium import webdriver

# options = Options()
# options.binary_location = 'C:\Program Files\Google\Chrome\Application\chrome.exe'
# driver = webdriver.Chrome(executable_path=r'C:\webdrivers\chromedriver.exe', chrome_options = options)
driver = webdriver.Chrome()
driver.get('https://www.google.com')
print('Chrome opened')
time.sleep(5)
driver.quit()

然后我尝试注释掉关于查找 chrome 的部分,确保我在 moo.py 所在的文件夹中拥有正确版本的 chromedriver,将代码更改为上面的代码,但仍然出现相同的错误。

之后,我使用 moo.py 从文件夹中删除了 chromedriver,暗示它只会从 PATH 获取信息,然后再次抛出相同的错误。

这是我得到的整个回溯错误。每次都是同样的错误。

C:\webdrivers>python moo.py Traceback(最近一次调用最后):文件“C:\Users\Sean\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service. py",第 72 行,开始 self.process = subprocess.Popen(cmd, env=self.env, File "C:\Users\Sean\AppData\Local\Programs\Python\Python39\lib\subprocess.py",第 829 行,在init errread, errwrite) = self._get_handles(stdin, stdout, stderr) 文件“C:\Users\Sean\AppData\Local\Programs\Python\Python39\lib\subprocess.py”,第 1279 行,在_get_handles c2pwrite = msvcrt.get_osfhandle(self._get_devnull()) 文件“C:\Users\Sean\AppData\Local\Programs\Python\Python39\lib\subprocess.py”,第 1062 行,在 _get_devnull self._devnull = os. open(os.devnull, os.O_RDWR) FileNotFoundError: [Errno 2] 没有这样的文件或目录:'无'

在处理上述异常的过程中,又出现了一个异常:

回溯(最后一次调用):文件“C:\webdrivers\moo.py”,第 22 行,在 driver = webdriver.Chrome() 文件“C:\Users\Sean\AppData\Local\Programs\Python\Python39\ lib\site-packages\selenium\webdriver\chrome\webdriver.py”,第 73 行,在init self.service.start() 文件“C:\Users\Sean\AppData\Local\Programs\Python\Python39\lib\ site-packages\selenium\webdriver\common\service.py",第 81 行,开始引发 WebDriverException(selenium.common.exceptions.WebDriverException:消息:'chromedriver' 可执行文件需要在 PATH 中。请参阅 https://sites .google.com/a/chromium.org/chromedriver/home

标签: pythonwindows-10selenium-chromedriver

解决方案


添加到PATHChromeDriver二进制文件所在的系统。

重新启动 python 解释器或 jupyter。不需要设置选项。

还要确保您拥有当前 Chrome的正确版本(自动更新)。

它会起作用的。

我以这种方式使用 selenium python 已经有一段时间了(Windows 10)。


推荐阅读