簡體   English   中英

Watir-webdriver:如何強制click方法等待頁面完全加載

[英]Watir-webdriver: how to force the click method to wait for the page to load completely

我最近在使用Watir之后開始使用Watir-Webdriver,因為我需要一些功能,這些功能存在於webdriver但不存在於Watir中。 我在watir-webdriver中面臨一個問題,我從未在Watir中遇到過這個問題。

每當在Watir中的按鈕上使用click方法時,它就會隱式等待新頁面完全加載。 我在Watir-webdriver文檔中讀到等待並且在這個問題中watir-webdriver中的等待已被更改,以適應對AJAX所做的網頁所做的動態更改。 現在,我自動化的頁面沒有任何AJAX元素,它只包含靜態元素。

但是當我在watir-webdriver中使用click方法時,它不會等待下一頁隱式加載並立即執行調用中的下一行。 我可以使用wait_until_present但是對於我來說,等待頁面加載點擊似乎是標准行為,對於我來說這似乎是一種矯枉過正。

我錯過了一些我需要切換的選項,以便Watir的click方法在watir-webdriver中模擬?

如果您遇到瀏覽器指示頁面已加載的問題,但是客戶端仍然發生了某些事情(可能是javascript代碼正在執行,或css邏輯等),那么我建議在您的操作前使用'when_present'裝飾器

這比必須單獨等待步驟更清潔,並且比固定睡眠時間等要好得多。

browser.button(:how => 'what').when_present.click

如果要加載內容但不加載,也可以等待加載div。

browser.div(:how => 'what').wait_until_present

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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