Selenium :: WebDriver ::错误::未知错误:未知错误:找不到Chrome二进制文件(驱动程序信息:chromedriver = 2.31.488774)

时间:2017-08-01 18:36:43

标签: ruby scripting watir

我尝试使用Watir gem在ruby中编写脚本,但以下代码出错:

browser = Watir::Browser.new :chrome

错误:

Selenium::WebDriver::Error::UnknownError: unknown error: cannot find Chrome binary
  (Driver info: chromedriver=2.31.488774 (7e15618d1bf16df8bf0ecf2914ed1964a387ba0b),platform=Mac OS X 10.12.5 x86_64)

请让我知道上述问题的解决方案。

4 个答案:

答案 0 :(得分:1)

您尝试安装的chromedriver版本可能会有一些库取决于。您需要安装这些库才能启动chromedriver

我是如何解决这个问题的?

我通过SSH进入我的测试环境并运行chromedriver(我在回答时使用的是最新版本:Ubuntu Trusty 14.04上的2.35)

chromedriver: error while loading shared libraries: libnss3.so: cannot open ...

这是网络安全服务库。其他版本可能需要安装其他一些库。结帐this answer了解更多信息。

所以我使用apt-get安装了库。

p.s:确保您也在框中安装了Chrome。如果您使用的是CircleCI,请结帐this tip

答案 1 :(得分:1)

记住

您还需要在计算机上安装Chrome,以使Selenium Chrome驱动程序正常工作。

答案 2 :(得分:0)

这意味着您的脚本无法找到Chrome 驱动程序浏览器可执行文件。确保您已从here下载了Chrome浏览器。此外,来自ChromeDriver Capabilities docs

  

要使用的Chrome可执行文件的路径(在Mac OS X上,这应该是实际的二进制文件,而不仅仅是应用程序。例如,' / Applications / Google Chrome.app/Contents/MacOS/Google Chrome&#39 ;)

答案 3 :(得分:0)

解决方案是将Chrome或Chromium应用的位置添加到您的PATH中。您可能试图在Mac上整理应用程序,而没有将Chrome直接放在“应用程序”文件夹中。

但是实际上,包含Chrome或Chromium .app的文件夹不在您的PATH中。要解决此问题,请编辑〜/ .bash_profile并添加以下行:
module MyGem autoload :Dym::Proximity, "my_gem/dym/proximity" end
在此示例中,我将所有浏览器都放在了Applications内的“ Web”文件夹中。

更技术性的解释是chromedriver在PATH的每个条目内搜索特定的子路径。做到这一点的代码在这里: Chromedriver Source Code