2016-06-13 96 views
0

我在Linux中构建了一个简单的脚本,但现在我试图让它在Windows上工作。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窗口之前就会死亡。这是在这个Windows安装上全新安装的Ruby,我从来没有在这台机器上使用它。

可能是什么问题?

编辑:命令行跟踪,按要求。

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

添加到Justin的问题,命令行上的错误跟踪是什么?听起来很可能是硒-webdriver(WATIR)和安装在您机器上的FF版本之间的不兼容。 – Sam

+0

感谢你们两位。嗯,这可能是可能的。应该提到的是,我确实安装了Waterfox(但不是chrome,我无法让安装程序正常工作)和几个FF配置文件(尽管我试过选择没有运气的特定配置文件)。 我使用命令行跟踪编辑了帖子。 – Joe

回答

2

这就是Firefox中的this bug。您的选项是:

  1. 等待在Firefox 47补丁
  2. 降级到Firefox 46
  3. 使用的木偶,而不是Firefox的驱动器(正在被淘汰,并不再与Firefox的最新版本工作不久)
  4. 使用Chrome的

要尝试的提线木偶,下载geckodriver做:

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

啊哈,很高兴知道,我很高兴这不仅仅是我很愚蠢!非常感谢您的帮助。我已经选择了5.使用无头浏览器在Rails上构建一些东西来实现它。我猜猜我是投资组合的东西! 再次感谢。 – Joe

相关问题