我做一个项目已经有一段时间了。就在最近,不知什么原因,我开始得到一个错误:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver'可执行文件需要在PATH中。请参阅https://sites.google.com/a/chromium.org/chromedriver/home
这很奇怪,因为我已经在PATH中有chromedriver。我也有chromedriver在同一个文件夹作为我一直在工作的项目。我还创建了一个名为moop .py的测试文件。这是非常基本的,目的是测试chromedriver。代码如下:
from selenium.webdriver.chrome.options import Options
from time import sleep
from selenium import webdriver
options = Options()
options.binary_location = 'C:Program FilesGoogleChromeApplicationchrome.exe'
driver = webdriver.Chrome(executable_path=r'C:webdriverschromedriver.exe', chrome_options = options)
driver.get('https://www.google.com')
print('Chrome opened')
time.sleep(5)
driver.quit()
即使运行这个,它仍然给我相同的错误。我不太确定现在该怎么做,因为我已经尝试了几种不同的方法来解决这个问题。我将感谢任何和所有的反馈。亲切的问候。
edit 1: Chromedriver is active working in PATH.
C:>chromedriver启动chromedriver 92.0.4515.107(4515年87 a818b10553a07434ea9e2b6dccf3cbe7895134-refs/分公司主管/@ {# 1634})端口9515只允许本地连接。请参阅https://chromedriver.chromium.org/security-considerations关于保持ChromeDriver安全的建议。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 FilesGoogleChromeApplicationchrome.exe'
# driver = webdriver.Chrome(executable_path=r'C:webdriverschromedriver.exe', chrome_options = options)
driver = webdriver.Chrome()
driver.get('https://www.google.com')
print('Chrome opened')
time.sleep(5)
driver.quit()
然后我试图注释出关于寻找chrome的部分,确保我在同一个文件夹中有正确版本的chromedriver,将代码更改为上述,并且仍然得到相同的错误。
之后,我用moop .py从文件夹中删除了chromedriver,暗示它只会从PATH获取信息,并且它再次抛出相同的错误。
这是我得到的整个回溯错误。每次都是同样的错误
C:webdrivers>python mooc .py Traceback(最近一次调用的最后一次):File .py"C: 用户肖恩 AppData 本地Python 程序 Python39 lib 网站硒 webdriver 常见 service.py",第72行,开始自我。Process =子进程。Popen (cmd, env =自我。env, File "C:UsersSeanAppDataLocalProgramsPythonPython39libsubprocess.py"第829行,init错误,错误)=自我。_get_handles(标准输入,标准输出,标准错误)文件"C: 用户肖恩 AppData 本地Python 程序 Python39 lib subprocess.py",第1279行,在_get_handles中c2pwrite = msvcrt.get_osfhandle(self._get_devnull()) File "C:UsersSeanAppDataLocalProgramsPythonPython39libsubprocess.py",第1062行,在_get_devnull中自我。_devnull = os.open(os.devnull, os.O_RDWR) FileNotFoundError: [Errno 2]没有这样的文件或目录:'nul'
在处理上述异常时,出现了另一个异常:
回溯(最近一次调用):File "C:webdrivers moox .py"22日,在driver = webdriver. chrome () File "C:UsersSeanAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriverchromewebdriver.py",第73行,initself.service.start() File "C:UsersSeanAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdrivercommonservice.py",第81行,开始抛出WebDriverException(selenium.common.exceptions.WebDriverException: Message: 'chromedriver')可执行文件需要在PATH中。请参阅https://sites.google.com/a/chromium.org/chromedriver/home
添加到ChromeDriver二进制文件所在的系统PATH
还要确保有正确的版本
它会起作用的
我已经这样使用selenium python很长一段时间了(windows 10)。