簡體   English   中英

停止加載頁面watir-webdriver

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM