无法连接到Geckodriver

时间:2016-09-26 09:45:21

标签: ruby-on-rails selenium selenium-webdriver geckodriver

我正在尝试使用Ruby on Rails运行Selenium的示例scirpt。我要用代理运行它。这是我的代码:

require 'rubygems'
require 'bundler/setup'

# require your gems as usual
require "selenium-webdriver"

Selenium::WebDriver::Firefox.path = "/home/marc/Documents/firefox/firefox"
profile = Selenium::WebDriver::Firefox::Profile.new
proxy = Selenium::WebDriver::Proxy.new(:http => nil)
profile.proxy = proxy
driver = Selenium::WebDriver.for :firefox, :profile => profile
driver.navigate.to "http://google.com"

element = driver.find_element(:name, 'q')
element.send_keys "Hello WebDriver!"
element.submit

puts driver.title

driver.quit

我收到以下错误:

/home/marc/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.0.0.beta3.1/lib/selenium/webdriver/common/service.rb:115:in `connect_until_stable': unable to connect to Mozilla geckodriver 127.0.0.1:4445 (Selenium::WebDriver::Error::WebDriverError)

有人可以帮助我......?我几个小时都在努力,找不到问题......真的不知道该怎么做。

环境:

Ubuntu 16.04 LTS,  Firefox 45.0,  rbenv 2.3.1

其他问题:有人知道Selenium + Ruby on Rails的一些例子吗?我找不到真正好的东西......文档很差:(

3 个答案:

答案 0 :(得分:9)

您有selenium-webdriver-3.0.0.beta3.1,仅适用于Firefox 48及更高版本(尚未正常使用)。 回退到selenium-webdriver版本2.53.4,然后重试。

答案 1 :(得分:3)

作为DarKy硒版降级解决方案的补充:

  • 在安装gem的目录的终端更改目录路径中
  • 运行gem uninstall selenium-webdriver
  • 运行gem install selenium-webdriver -v 2.53.4

答案 2 :(得分:0)

  • ruby​​:ruby 2.3.3p222
  • selenium-webdriver:selenium-webdriver(3.7.0)
  • Firefox:V57
Selenium::WebDriver::Firefox.driver_path = "‪C:\\Users\\Desktop\\geckodriver.exe"
capabilities = Selenium::WebDriver::Remote::Capabilities.firefox(accept_insecure_certs: true)
driver = Selenium::WebDriver.for :firefox, desired_capabilities: capabilities
driver.navigate.to "https://google.com"