2016-06-13 13 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

ジャスティンの質問に加えて、コマンドラインのエラートレースは何ですか? selenium-webdriver(WATIR)とマシンにインストールされたFFバージョンとの間に互換性がない可能性が最も高いと思われます。 – Sam

+0

お互いに感謝します。うーん、それは可能かもしれない。それは、ウォーターフォックスもインストールされている(しかし、クロムではない、私はインストーラを動作させることができなかった)といくつかのFFのプロファイル(私は運がない特定のものを選択しようとした)を言及する必要があります。 コマンドライントレースで投稿を編集しました。 – Joe

答えて

2

これはFirefoxのthis bugです。あなたのオプションは以下のとおりです。廃止されるとすぐにFirefoxの新バージョンでは動作しませんFirefoxの46

  • 利用マリオネットの代わりに、Firefoxのドライバ(へのFirefox 47でパッチ
  • ダウングレード用

    1. 待ち)
    2. 利用クローム

    、マリオネットを試してみてくださいgeckodriverをダウンロードして実行します。

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

    ああ、素晴らしいことを知って、私は愚かなだけではなかったことがうれしいです!あなたの助けをありがとう。私はオプション5を使いました。ヘッドレスブラウザを使ってRailsに何かを構築してください。私が推測するポートフォリオのための何か! もう一度ありがとうございます。 – Joe

    関連する問題