1

text_field のテキストが消えるか、置き換えられるまで、Watir が待機するようにします。しかし、私がこのようにしようとすると:

Watir::Wait.until { browser.text_field(:id, "ContentPlaceHolder").value =! "textExample" }

テキストフィールドに文字列「false」を繰り返し出力し続けます。

text_field に textExample がなくなるまで、どうすればこの問題を解決できますか?

4

1 に答える 1

1

問題

コードの問題は

value =! "textExample"

があることに注意してください=!。これは実際には「textExample」のnotを​​割り当てると言っていると思いますが、これは誤りです。つまり、実際には、テキストフィールドにfalseを割り当てると言っています。

解決策0-修正=!

のタイプミスを修正する=!!=、機能するはずです。

Watir::Wait.until { browser.text_field(:id, "ContentPlaceHolder").value != "textExample" }

解決策1-wait_untilを使用する

コードは修正されたタイプミスで機能しますが。Watir::Waitを直接使用することをお勧めするとは思わない。代わりに、組み込みのwait_untilメソッドを使用する必要があります。

browser.wait_until{ browser.text_field(:id, "ContentPlaceHolder").value != "textExample" }

または使用するwait_while(あなたの読書の好みに応じて)

browser.wait_while{ browser.text_field(:id, "ContentPlaceHolder").value == "textExample" }

解決策2-wait_while_presentを使用する

または、このメソッドを使用することもできますElement#wait_while_present

やってみてください:

browser.text_field(:id => "ContentPlaceHolder", :text => "textExample").wait_while_present
于 2013-01-21T14:01:38.017 に答える