0

選択リストと選択を実行するためのボタンで構成されるポップアップウィンドウを生成するリンクを含むページをスクリーンスクレイピングしています。目的は、メインページのリンクをクリックし、ポップアップウィンドウで選択を行い、リンクをクリックして選択を確認してから、メインWebページで新しい選択を表示することです。

セレリティで行っている手順と結果は次のとおりです。

popup_browser = browser.image(:alt, 'Holidays').click_and_attach
#this creates a new browser to deal with the popup window
popup_browser.select_list(:id, 'ddlSlot1').select_value('Christmas')
#Selecting Christmas from the select list
popup_browser.link(:id, 'btnChangeHoliday').click
#Confirms/Implements selection
popup_browser.close
#Closes popup browser
puts browser.div(:id, 'HolidayName').text
#Here I try to print the updated holiday but nothing is printed (no text value)

最後の行を除いて、すべてが正常に機能しているようです。いくつかのデバッグを行い、選択が行われたことを確認しました。ポップアップページの[ChangeHoliday]ボタンをクリックした後、メインのWebページが更新されていないようです。

任意の考えや提案をいただければ幸いです。

よろしくお願いします。

4

1 に答える 1

0

これは簡単な修正であることが判明しました。スクリプトが機能するために必要な唯一の変更は、ブラウザの初期化に再同期オプションを追加することです。そうすると、スクリプトは期待どおりに機能します。

browser = Celerity::IE.new(:resynchronize => true)
于 2010-12-31T22:58:20.803 に答える