我正在使用python和selenium,并从这个网站下载了用于我的windows计算机的chromedriver: http://chromedriver.storage.googleapis.com/index.html?path=2.15/
下载压缩文件后,我将压缩文件解压缩到我的下载文件夹中。然后我把可执行二进制文件(C:\Users\michael\Downloads\chromedriver_win32)的路径放到环境变量“path”中。
然而,当我运行以下代码:
from selenium import webdriver
driver = webdriver.Chrome()
... 我一直得到以下错误消息:
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
但是-如上所述-可执行文件在路径中(!)…这是怎么回事?
为将来的读者提供一些额外的输入/澄清,
以避免修补PATH环境。变量在Windows级别和重新启动Windows系统:
(复制我的答案从https://stackoverflow.com/a/49851498/9083077适用于Chrome):
(1)下载chromedriver(如本线程前面所述),并将(解压缩)chromedriver.exe放在X:\文件夹\your\choice
(2) Python代码示例:
import os;
os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice';
from selenium import webdriver;
browser = webdriver.Chrome();
browser.get('http://localhost:8000')
assert 'Django' in browser.title
注:
(1)示例代码(在参考答案中)可能需要大约5秒钟才能打开指定url的Firefox浏览器。
(2)如果没有服务器在指定的url上运行,或者没有包含字符串'Django'的页面,python控制台将显示以下错误:
在browser.title中断言“Django”
AssertionError
我看到讨论仍然在讨论通过下载二进制文件和手动配置路径来设置chromedriver的旧方法。
这可以使用webdriver-manager自动完成
pip install webdriver-manager
现在问题中的上述代码将简单地与下面的更改一起工作,
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
同样可以用来设置Firefox、Edge和ie二进制文件。
在将chromedriver添加到路径之前,请确保它与浏览器的版本相同。
如果不是,你需要匹配版本:更新/降级你的chrome浏览器,升级/降级你的webdriver。
我建议更新你的chrome版本尽可能多,并匹配的网络驱动程序。
更新chrome浏览器:
在右上角,点击三个点。
点击help ->关于谷歌Chrome
更新版本并重新启动chrome
请从这里下载兼容版本:http://chromedriver.chromium.org/downloads
。
注意:最新的chromedriver并不总是匹配最新版本的chrome!
现在你可以把它添加到PATH:
在你电脑的某个地方创建一个新文件夹,在那里你将放置你的网络驱动程序。
我在C:\Program Files中创建了一个名为webdrivers的文件夹
复制文件夹路径。对我来说,是C:\Program Files\webdrivers
右键点击这台PC ->属性:
2 .右键单击“Advanced System settings”
单击环境变量
在“系统变量”中,单击“路径”,然后单击“编辑”
单击new
粘贴之前复制的路径
在所有窗口上单击OK
这就是它!我用了pycharm,不得不重新打开。也许其他ide或终端也一样。
适用于Linux和OSX
步骤1:下载chromedriver
# You can find more recent/older versions at http://chromedriver.storage.googleapis.com/
# Also make sure to pick the right driver, based on your Operating System
wget http://chromedriver.storage.googleapis.com/81.0.4044.69/chromedriver_mac64.zip
对于debian: wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
步骤2:将chromedriver添加到/usr/local/bin目录
unzip chromedriver_mac64.zip
sudo mv chromedriver /usr/local/bin
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver
您现在应该可以运行了
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://localhost:8000')
没有任何问题