10

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

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 的一些例子吗?我找不到真正好的东西......文档真的很差:(

4

3 回答 3

9

您拥有selenium-webdriver-3.0.0.beta3.1的仅适用于 Firefox 48 及更高版本(尚未正常工作)。回退到selenium-webdriver版本并重2.53.4试。

于 2016-09-27T12:13:05.623 回答
4

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

  • 在终端更改目录路径到安装 gem 的目录
  • gem uninstall selenium-webdriver
  • gem install selenium-webdriver -v 2.53.4
于 2016-12-20T21:27:52.160 回答
1
  • 红宝石:红宝石 2.3.3p222
  • selenium-webdriver: selenium-webdriver (3.7.0)
  • 火狐: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"
于 2017-11-23T16:47:57.687 回答