找不到 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 找不到与图像扩展关联的可执行文件?

虚拟光驱运行可执行程序,出现指定路径找不到??

Pyinstaller 独立可执行文件找不到规范文件中定义的 ui 文件

Xcode 10:找不到此可执行文件的有效配置文件