我正在尝试使用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的一些例子吗?我找不到真正好的东西......文档很差:(
答案 0 :(得分:9)
您有selenium-webdriver-3.0.0.beta3.1
,仅适用于Firefox 48及更高版本(尚未正常使用)。
回退到selenium-webdriver
版本2.53.4
,然后重试。
答案 1 :(得分:3)
作为DarKy硒版降级解决方案的补充:
gem uninstall selenium-webdriver
gem install selenium-webdriver -v 2.53.4
答案 2 :(得分:0)
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"