問題
與您的代碼的問題是
value =! "textExample"
注意,你有一個=!
。我相信這實際上是指分配而不是的「textExample」,這是錯誤的。所以你真的說要把文本字段賦給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
其實,我是用=,但它並沒有太多的工作,所以我嘗試= !,並與最後一個在這裏submited。 你的browser.wait_while應該解決了我的問題! 的Watir :: Wait.until: 我只是一個to_s的簡單修正使它{browser.text_field!(:ID 「的ContentPlaceHolder」)value.to_S = 「textExample」} 不管怎麼說,謝謝! –