[英]Stop loading page watir-webdriver
有沒有一種方法可以停止在firefox上使用watir-webdriver加載頁面? 或者即使頁面仍在加載,也有辦法在腳本中強制執行某些操作嗎? 在腳本的某個時刻,網站將掛起,腳本最終超時。
您可以使用Timeout類在經過一段合理的時間后強制其放棄(這也是Watir內部執行等待的方式)
begin
Timeout::timeout(10) do
# perform actions that may hang here
end
rescue Timeout::Error => msg
put "Recovered from Timeout"
end
如果網站掛起,如果沒有出現元素,您應該可以使用wait方法來使腳本超時。 這些主要用作AJAX的答案,但它們也應適用於這種情況。 例如,如果腳本在單擊鏈接后掛起,並且您希望下一頁具有特定的標題或文本:
@browser.link(:name => "Let's Hang!").click
Watir::Wait.until(30) { @browser.title == "new page" }
要么
Watir::Wait.until(30) { @browser.text.include? ("confirmation text") }
要么
@browser.image(:src => "awesome.jpg").wait_until_present(30)
其中的每一個都將等待30秒鍾,以便滿足條件,然后錯誤退出。 您可以更改在應用程序的掛起窗口中退出的時間(30)。
請查看Selenium問題http://code.google.com/p/selenium/issues/detail?id=687尚未解決,watir-webdriver也基於Selenium,希望它能回答您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.