2016-12-19 9 views
-2

私はRailsにWebスクレーパーを作成しています。Watirに選択タグからオプションを選択させることはできません。私は複数のバリエーションを試してみたが、すべてのアカウントで、これは動作するはずです:Rails Watir Webdriver - 選択オプションが機能しない

browser.select_list(:id, "system").select("PC") 

私は選択ボックスと値の両方が存在していることを確認するためにテストしてみた、私はすべてができるようにするためにクリックを遅らせるために睡眠を使用しました私は.when_presentを使用しました。私はそれを試しました(私はチェックボックスをオフにして、チェックボックスをオフにして、選択ボックスではなくエフェクトをライブで見ることができます)。エラーメッセージはありません。何もしません。

require 'watir-webdriver' 
require 'pry' 

browser = Watir::Browser.new 
browser.goto 'http://www.co-optimus.com/games.php' 

browser.div(id: "system-modal").link(class: "close-reveal-modal").click 

sleep 5 
browser.select_list(:id, "system").when_present.select("PC") 

sleep 1 
browser.checkbox(id: "couch").when_present.set 

sleep 2 
browser.link(text: "Find Games").when_present.click 
+0

使用しているFirefoxのバージョンは何ですか? Geckodriver v0.11.1(win32)でFirefox v50.1.0を使用している間、あなたのコードは私の期待通りに機能しました。 –

+0

別のプロジェクトでは制限があるため、以前のバージョンを使用していました。 titusfortnerの解決策が私のために働いた –

+0

なぜ人々はこの質問をd​​ownvotingですか?私がそれに尋ねたやり方に何か問題がありますか? –

答えて

1

まず、ワチール-webdriverをはワチールによって廃止されました:

はここで完全なコードです。 gem "watir", "~> 6.0.0"を使用する場合は、#when_present(またはスリープ)を含める必要はありません。

この私の作品(それがデフォルトでChromeを使用しています)

browser = Watir::Browser.new :firefoxを使用して
require 'watir' 

browser = Watir::Browser.new 
browser.goto 'http://www.co-optimus.com/games.php' 
browser.div(id: "system-modal").a.click 
browser.select_list(id: "system").select("PC") 
browser.checkbox(id: "couch").set 
browser.button(text: "Find Games").click 

私の画面上で実際に(私が取得するwatir-scrollと回避策を行う必要があるだろう「ゲームを探す」をクリックの問題を与えていますオーバーレイされるjavascriptを過ぎて)、選択リストでうまく動作します。 (これはFirefox 50にもあります)。

以前のバージョンのFirefoxをgeckodriverで使用している選択リストに問題があったため、Chromeを使用するか、Firefoxのバージョンを更新する必要があります。

+0

パーフェクト、ありがとう!私は古いチュートリアルから読んでいたに違いない –

+1

最新のドキュメントと新しいものが追加される場所:http://watir.github.io/ Selenium SlackのThe Watirチャンネルについてもお気軽にお問い合わせくださいifあなたは欲しい:https://seleniumhq.herokuapp.com/ – titusfortner

関連する問題