找不到 chromedriver 可执行文件
Posted
技术标签:
【中文标题】找不到 chromedriver 可执行文件【英文标题】:Unable to find the chromedriver executable 【发布时间】:2013-11-20 15:40:15 【问题描述】:。请从http://code.google.com/p/chromedriver/downloads/list 下载服务器并将其放置在您的路径中的某个位置。更多信息http://code.google.com/p/selenium/wiki/ChromeDriver。 (Selenium::WebDriver::Error::WebDriverError)
在带有 Watir 和 Ruby 的 Ubuntu 13 上。
【问题讨论】:
【参考方案1】:对于 MacOS 上的其他人:
brew cask install chromedriver
你会很高兴的。
如果使用 Homebrew 2.6.0(2020.12.01 发布)或更高版本,您应该使用:
brew install --cask chromedriver
【讨论】:
对于较新版本的 brew,您只需要“brew install chromedriver”而不是“brew cask install chromedriver”【参考方案2】:请从http://code.google.com/p/chromedriver/downloads/list 下载服务器并将其放置在您的路径中的某个位置。更多信息请访问https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。
UPD:未损坏的链接:https://sites.google.com/a/chromium.org/chromedriver/downloads
【讨论】:
“您请求的页面不存在”bugs.chromium.org/p/chromedriver/downloads/list【参考方案3】:对于 Linux/Ubuntu 用户,只运行以下命令就足够了:
sudo apt-get install chromium-chromedriver
它还负责将二进制文件添加到 PATH。
【讨论】:
【参考方案4】:我正在考虑 Ruby on Rails 功能测试。将chromedriver添加到selenium webdrivers初始化的步骤:
1) 从https://sites.google.com/a/chromium.org/chromedriver/downloads下载最新的chrome可执行文件
2) 在 rails 规范助手中声明 webdriver 路径为 (对于硒 3.x)
Selenium::WebDriver::Chrome.driver_path = "/home/jazz/Desktop/web_drivers/chromedriver"
这应该在驱动程序初始化之前,如Capybara::Selenium::Driver.new(app, :browser => :chrome)
对于 3.x 以上,只需在初始化时传递驱动程序路径-
Capybara::Selenium::Driver.new(app, :browser => :chrome,:driver_path => <path to chromedriver>)
一切就绪。在 rails 中加载任何功能规范。它将打开一个 chrome 窗口。
【讨论】:
【参考方案5】:添加一个名为webdriver.chrome.driver
的环境变量也可以。
将webdriver.chrome.driver
设置为绝对路径。
【讨论】:
【参考方案6】:对我来说,根据我的 Chrome 版本下载chromedriver.exe
并将其放在我的目录“C:/ruby/...bin/”中
我尝试设置环境变量,但它根本不起作用。
【讨论】:
【参考方案7】:我有另一个值得尝试的解决方案:
在rails-helper.rb
中转到这一行并将:firefox
更改为:chrome
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app, :browser => :firefox)
end
到
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
然后,转到ChromeDriver 并运行:
brew tap homebrew/cask && brew cask install chromedriver
【讨论】:
【参考方案8】:我对 Ruby 和 Watir 也有同样的问题。我已经按照本教程安装了 ChromeDriver:
https://tecadmin.net/setup-selenium-chromedriver-on-ubuntu/
然后我有以下错误:
DevToolsActivePort file doesn't exist while trying to initiate Chrome Browser
在我的情况下,通过向浏览器构造函数添加参数 --no-sandbox 和 --disable-dev-shm-usage 解决了错误:
args = ['--no-sandbox', '--disable-dev-shm-usage']
browser = Watir::Browser.new :chrome, options: args: args
最后,一切正常。
【讨论】:
【参考方案9】:Chrome 驱动器路径再次更改。所有版本都有 Chrome 驱动的新路径:
工作路径
https://chromedriver.storage.googleapis.com/index.html
https://sites.google.com/chromium.org/driver/
旧路径 - https://sites.google.com/a/chromium.org/chromedriver/downloads
在您的 env.rb
中包含以下内容Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app,
:browser => :chrome,
:driver_path => "<PATH FOR UNZIPPED DRIVER FOLDER>"
)
end
【讨论】:
以上是关于找不到 chromedriver 可执行文件的主要内容,如果未能解决你的问题,请参考以下文章
Selenium 错误:“chromedriver”可执行文件需要在 PATH [重复]
消息:“chromedriver”可执行文件需要在 PATH 中
为啥 AssocQueryString 找不到与图像扩展关联的可执行文件?