3

私は最近、以前にWatirを使用した後、Watir-Webdriverを使用し始めました。Watir では直面したことのない watir-webdriver の問題に直面しています。

Watir のボタンでクリック メソッドを使用するときは常に、新しいページが完全に読み込まれるまで暗黙的に待機していました。私はWatir-webdriverのドキュメントを読んで、この質問では、AJAXによって行われたWebページに加えられた動的な変更に対応するために、watir-webdriverでの待機が変更されたことを確認しました。現在、自動化しているページには AJAX 要素がなく、静的要素のみが含まれています。

しかし、watir-webdriver でクリック メソッドを使用すると、次のページが暗黙的に読み込まれるのを待たずに、呼び出しの次の行がすぐに実行されます。使用できるのはwait_until_presentですが、クリックでページがロードされるのを待つのが標準的な動作のように思われる場合、多くのページに対してそれを行うのはやり過ぎのようです。

Watir のクリック方法が watir-webdriver でエミュレートされるように切り替える必要があるいくつかのオプションがありませんか?

4

2 に答える 2

1

コンテンツをロードするがクリックしないようにする場合は、div がロードされるのを待つこともできます。

browser.div(:how => 'what').wait_until_present
于 2012-05-08T16:02:53.993 に答える
1

ブラウザーがページが読み込まれていることを示しているが、まだクライアント側で処理が行われている (javascript コードの実行、または css ロジックなど) という問題がある場合は、アクションの前に'when_present' デコレーターを使用することをお勧めします。 .

これは、別の待機ステップを配置するよりも少しクリーンであり、一定の睡眠期間などよりもはるかに優れています.

browser.button(:how => 'what').when_present.click
于 2012-05-02T17:35:30.830 に答える