通过xvfb运行selenium ruby脚本时出错

通过xvfb运行selenium ruby脚本时出错,ruby,linux,selenium,xvfb,Ruby,Linux,Selenium,Xvfb,我想做什么 使用selenium及其ruby绑定打开chrome并从DOM读取值。这一部分工作得很好,但是我需要在linux服务器上无头运行它。看起来很简单,所以我使用xvfb运行它,并使用以下命令: export PATH=$PATH:./bin xvfb-run --server-arg="-screen 0, 1024x768x16" ruby script.rb 第一行将二进制chromedriver添加到PATH中,第二行通过xvfb运行脚本。我在一个EC2 ubuntu盒上得到了这

我想做什么

使用selenium及其ruby绑定打开chrome并从DOM读取值。这一部分工作得很好,但是我需要在linux服务器上无头运行它。看起来很简单,所以我使用xvfb运行它,并使用以下命令:

export PATH=$PATH:./bin
xvfb-run --server-arg="-screen 0, 1024x768x16" ruby script.rb
第一行将二进制
chromedriver
添加到
PATH
中,第二行通过
xvfb
运行脚本。我在一个EC2 ubuntu盒上得到了这个,它本质上是一个开发盒。一切都很好

现在是时候使用相同的bash脚本在另一个ec2ubuntu盒上运行它了。它抛出了一个错误,
chromedriver
二进制文件找不到。奇怪,因为它在另一个盒子上工作得很好。我查过了,二进制文件在那里。我手动将其添加到路径中,然后再次运行bash脚本,同样的错误。经过一些故障排除和谷歌搜索,我发现:

这建议chromedriver需要符号链接到
/usr/bin/google chrome
。再次奇怪,因为它在另一个盒子和没有这个符号链接的本地机器上工作正常。我将其符号链接到此位置,现在我得到的错误是:

/usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/selenium/webdriver/remote/response.rb:51:in `assert_ok': unknown error: Chrome failed to start: exited abnormally (Selenium::WebDriver::Error::UnknownError)

我从来没有在我的本地或开发盒上得到过这个。有什么想法吗?这是chromedriver、
xvfb
或其运行环境的问题吗?部署框中的某些差异与我缺少的开发框不同?

我发现了这一点。误解方向。在
/usr/bin
中安装了
google chrome
,它运行正常。

您尝试过使用gem吗?是的,我见过,但正在避免使用它,因为它会涉及代码更改,而不是如何运行代码。如果我找不到解决这个问题的办法,我会试一试。谢谢