ste*_*ess 126 python selenium selenium-chromedriver
我正在使用selenium和python,并从我的网站下载了我的Windows计算机的chromedriver:http://chromedriver.storage.googleapis.com/index.html?path = 2.15 /
下载zip文件后,我将zip文件解压缩到我的下载文件夹.然后我将路径到可执行二进制文件(C:\ Users\michael\Downloads\chromedriver_win32)放入环境变量"路径".
但是,当我运行以下代码时:
from selenium import webdriver
driver = webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)
...我一直收到以下错误消息:
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
Run Code Online (Sandbox Code Playgroud)
但是 - 如上所述 - 可执行文件是(!)在路径中...这里发生了什么?
lmN*_*mNt 136
您可以测试它是否实际位于PATH中,如果您打开cmd并键入chromedriver
(假设您的chromedriver可执行文件仍然像这样命名)并按Enter键.如果Starting ChromeDriver 2.15.322448
出现,则PATH设置正确并且还有其他错误.
或者,你可以像这样使用chromedriver的直接路径:
driver = webdriver.Chrome('/path/to/chromedriver')
Run Code Online (Sandbox Code Playgroud)
所以在你的具体情况:
driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
Run Code Online (Sandbox Code Playgroud)
Nav*_*asu 61
我看到讨论仍然通过下载二进制文件并手动配置路径来讨论设置chromedriver的旧方法.
这可以使用webdriver-manager自动完成
pip install webdriver-manager
Run Code Online (Sandbox Code Playgroud)
现在,问题中的上述代码将仅适用于以下更改,
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
Run Code Online (Sandbox Code Playgroud)
同样可以用于设置Firefox,Edge和ie二进制文件
Bor*_*ris 30
在Ubuntu 上:
sudo apt install chromium-chromedriver
Run Code Online (Sandbox Code Playgroud)
在Debian 上:
sudo apt install chromium-driver
Run Code Online (Sandbox Code Playgroud)
在macOS 上安装Homebrew然后执行
brew cask install chromedriver
Run Code Online (Sandbox Code Playgroud)
Gio*_*ous 16
对于 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
Run Code Online (Sandbox Code Playgroud)
对于 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
Run Code Online (Sandbox Code Playgroud)
你现在应该可以运行了
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://localhost:8000')
Run Code Online (Sandbox Code Playgroud)
没有任何问题
And*_*llo 13
与pycharm社区版相同的情况,因此,对于cmd,您必须重新启动ide才能重新加载路径变量.重启你的ide,它应该没问题.
小智 9
r
对于原始字符串,我们必须添加路径字符串,从字符串前面的字母开始.我测试了这种方式,它的工作原理.
driver = webdriver.Chrome(r"C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
Run Code Online (Sandbox Code Playgroud)
小智 8
根据说明,实例化 webdriver.Chrome 时需要包含 ChromeDriver 的路径,例如:
driver = webdriver.Chrome('/path/to/chromedriver')
Run Code Online (Sandbox Code Playgroud)
另一种方法是下载并解压 chromedriver 并将“ chromedriver.exe”放入C:\Program Files\Python38\Scripts中,然后不需要提供驱动程序的路径,只需提供
驱动程序= webdriver.Chrome()
在将 chromedriver 添加到路径之前,请确保它与您的浏览器版本相同。
如果没有,您将需要匹配版本:更新/降级您的 chrome,并升级/降级您的网络驱动程序。
我建议尽可能更新您的 chrome 版本,以及匹配的网络驱动程序。
要更新 Chrome:
help
->About Google Chrome
然后从这里下载兼容版本:http://chromedriver.chromium.org/downloads 。
注意:最新的 chromedriver 并不总是与最新版本的 chrome 匹配!
现在您可以将其添加到 PATH 中:
在计算机中的某个位置创建一个新文件夹,您将在其中放置网络驱动程序。我创建了一个名为的文件webdrivers
夹C:\Program Files
复制文件夹路径。就我而言是C:\Program Files\webdrivers
右键单击this PC
-> properties
:
Advanced System settings
Environment Variables
System variables
,单击path
并单击edit
new
就是这样!我用的是pycharm,必须重新打开它。也许其他 IDE 或终端也是如此。
小智 5
最好的方法肯定在这里:
下载并解压 chromedriver 并将 chromedriver.exe 放入 C:\Python27\Scripts 中,然后您不需要提供驱动程序的路径,只需提供
driver= webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)
您无需添加路径或任何内容
可执行路径已被弃用!
如果您收到 exectuable_path 已被弃用警告,这里是修复...
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
def run():
s=Service(ChromeDriverManager().install())
chrome_driver = webdriver.Chrome(service=s)
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
241576 次 |
最近记录: |