web-dev-qa-db-fra.com

Impossible de se connecter à Geckodriver

J'essaie de citer l'exemple de Selenium avec Ruby on Rails. Je dois l'exécuter avec un proxy. Voici mon code:

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

J'ai eu l'erreur suivante:

/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)

Est-ce que quelqu'un peut m'aider...? J'essaie depuis des heures et je ne trouve pas le problème ... Je ne sais vraiment pas quoi faire.

Environnement:

Ubuntu 16.04 LTS, Firefox 45.0, Suite 2.3.1

Autre question: Quelqu'un connaît un exemple pour Selenium + Ruby on Rails? Je ne trouve pas vraiment de bonnes choses ... la documentation est vraiment médiocre :(

8
Twinfriends

Vous avez Selenium-webdriver-3.0.0.beta3.1 qui ne concerne que Firefox 48 et versions ultérieures (et ne fonctionne pas encore correctement). Repli sur Selenium-webdriver version 2.53.4 et réessayez.

9
DarKy

En complément de la solution de DarKy avec rétrogradation de la version de Selenium:

  • Dans le terminal, chemin du répertoire de changement vers le répertoire où gem a été installé
  • Exécuter gem uninstall Selenium-webdriver
  • Exécuter gem install Selenium-webdriver -v 2.53.4
3
Andrii Vasyliev
  • Ruby: Ruby 2.3.3p222
  • Sélénium-webdriver: sélénium-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"
0
Anil