2016-06-13 3 views
0

Я создал простой скрипт в Linux, но теперь я пытаюсь заставить его работать с окнами.Процесс браузера Watir не запускается должным образом (Windows)

Код:

require 'watir-webdriver' 
puts "Press enter when ready to continue" 
gets 
browser = Watir::Browser.start "http://www.google.com" 
# do stuff 

работает точно так же, как и ожидалось на Ubuntu. Но когда я запускаю его в Windows, процесс Firefox начинается, но затем умирает, прежде чем вы даже увидите окно Firefox. Это новая установка Ruby на этой установке Windows, я никогда не использовал ее раньше на этой машине.

В чем может быть проблема?

Редактировать: След командной строки, как и требовалось.

C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/firefox/launcher.rb:90:in `connect_until_stable': unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055) (Selenium::WebDriver::Error::WebDriverError) 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/firefox/launcher.rb:55:in `block in launch' 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/socket_lock.rb:43:in `locked' 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/firefox/launcher.rb:51:in `launch' 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/firefox/bridge.rb:43:in `initialize' 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/driver.rb:53:in `new' 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/driver.rb:53:in `for' 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver.rb:84:in `for' 
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/browser.rb:46:in `initialize' 
    from bot.rb:8:in `new' 
    from bot.rb:8:in `<main>' 
+0

Есть ли исключения? –

+0

Добавляя к вопросу Джастина, какова трассировка ошибок в командной строке? Звучит скорее всего несовместимость между selenium-webdriver (в WATIR) и версией FF, установленной на вашем компьютере. – Sam

+0

Спасибо вам обоим. Хм, это возможно. Следует отметить, что у меня также установлен Waterfox (но не хром, я не мог заставить программу установки работать) и несколько профилей FF (хотя я и попытался выбрать конкретную, не повезло). Я отредактировал сообщение с трассировкой командной строки. – Joe

ответ

2

Это this bug в Firefox. Ваши варианты:

  1. Дождитесь патча в Firefox 47
  2. к более ранней версии Firefox 46
  3. Использование марионеток вместо драйвера Firefox (который является устаревшим и не будет работать с новыми версиями Firefox скоро)
  4. Использование Chrome

Чтобы попробовать марионетку, скачать geckodriver и сделать:

browser = Watir::Browser.new :firefox, marionette: true 
+0

Ага, блестящий, чтобы знать, я рад, что не только я был глупым! Большое спасибо за вашу помощь. Я пошел с вариантом 5. Сборка чего-то на Rails с помощью браузера без браузера. Я думаю, что-то для портфолио! Еще раз спасибо. – Joe