【问题标题】:Install chromedriver using a remote host使用远程主机安装 chromedriver
【发布时间】:2018-01-12 13:48:18
【问题描述】:

我使用 Ruby、Sinatra 和 Redis 数据库在名为 Scaleway 的 ubuntu 远程主机上部署了我的应用程序。

通过这种方式,我已经安装了所有我需要的东西,并且可以访问我的应用程序。因此,当我想使用使用 Watir gem(硒)的脚本时,它总是向我显示此错误:

Selenium::WebDriver::Error::WebDriverError at /show_result unable to connect to chromedriver 127.0.0.1:9515

我知道我需要 Xvfb(已安装)、无头 gem(我在我的代码中实现)和 chromedriver,我安装的方式与我在本地计算机上安装它的方式相同。 在我的本地机器上,它工作得很好,但在我的远程主机上,它显示了上面的这个错误。

你知道如何解决这个问题吗?您是如何安装 Chromedriver 以便我的程序识别它的?

【问题讨论】:

  • 这很奇怪,因为现在我不再有这个错误,但是我有Net::ReadTimeout: Net::ReadTimeout我知道这个错误来自哪里,它发生在我初始化我的@browser = Watir::Browser.new(:chrome)时我只是初始化了上面的Headless gem初始化 Watir。

标签: ruby sinatra selenium-chromedriver watir-webdriver remote-host


【解决方案1】:

你有没有使用 xvfb 运行 watir 命令,类似这样的东西

xvfb-run <here is your command>

Chromedriver 也应该正确放置,以便它可以在任何地方访问,通常我将 chromedriver 放在 /usr/bin//usr/sbin/

【讨论】:

  • 在我的机器上,我已经把 chromedriver 放到 /usr/local/bin/ 并且它的工作。所以我尝试切换到 /usr/bin/ 存储库。我没有在我的代码上使用 xvfb 命令,我必须学习如何使用这个 gem!
  • 我试图做一些事情来运行 xvfb-run,但我不明白我应该如何使用这些命令。您是否有一个示例可以在远程主机上运行它,以便能够连接到 chromedriver ?我还使用了无头 gem,我实现如下:@headless = Headless.new@headless.start// code@browser.close@headless.destroy
  • 您可以将这个Watir 代码包装成ruby 脚本吗?所以尝试像xvfb-run ruby <your-watir>.rb一样运行
  • 这很奇怪,因为我不再有这个错误,但我有这个:Net::ReadTimeout (Net::ReadTimeout)我尝试像这样运行我的脚本,所以当我像xvfb-run ruby server.rb -p 80 -o 0.0.0.0一样运行我的server.rb sinatra 告诉我,我的路线不存在,虽然我很好.. 当我尝试在没有 Sinatra 的情况下运行我的脚本时,但使用两个所需的参数,如:`xvfb-run ruby​​ start.rb param1 param2' 这告诉我ReadTimeOut 错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-27
  • 2015-12-08
  • 1970-01-01
  • 2015-01-26
  • 2014-08-06
相关资源
最近更新 更多