ルビー/ワチールは、「goto文」を使用した後に立ち往生
質問
私は、単純なbrowser.goto(URL)当社のMicrosoft SQLレポートページへの呼び出しを使用しています。これは、最初のURLに「後藤」を行いますが、その後そこに座っています。私は現在、コマンドラインを介してそれを実行しているよ。
私はCtrl + Cは、それをキャンセルする場合は、出力は言います:
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:506:in `wait': Interrupt
from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:355:in `goto'
from screen.rb:37:in `SqlReports'
from screen.rb:35:in `each'
from screen.rb:35:in `SqlReports'
from screen.rb:45
だから、私はWaitrの問題を引き起こしているページ上で何かを推測しています。私は約スニペットをGoogleで検索、何でもして戻ってきていませんでした。私はそれがしたいすべては、ページをロードする指定された時間のためにそこに座って、その後、(それがテレビの画面のためです)、次のURLに移動し、何も複雑です。
だから私は、「開始/救助」、すなわちを配置しようとしました
begin
$browser.goto(url)
rescue
end
いいえ運は、それだけで最初のURLに座っていません。そして、私はタイムアウトのクラスを使用していることをラップしようとした、すなわちます:
begin
Timeout::timeout(30) do
$browser.goto(url)
end
rescue
end
まだ運が、それが出てクラッシュしません。誰もが修正、またはどのようにgoto文を実行するときにワチールがないという暗黙の「待ち」を上書きすることを知っていますか?
解決
私の推測では、「私はここにすべてを読み込む終わりだ」と言ってからIEを保持し、そのページ上の何かがあるということでしょう。
$のbrowser.click_no_waitコマンドと$ browser.clickがあります!あなたのURLへのリンクを持っていた静的なページを持っていたので、もしコマンドは、あなたがそのページbrowser.goto $とリンクをclcik_no_waitことができます。
所属していません StackOverflow