在webdriver中,雖然打開頁面Webdriver:如何重寫get()方法?
Webdriver.get(「www.yahoo.com」);
如果我想點擊一個元素立即出現,不必要的,我必須等到頁面加載完成。
有沒有解決方案/建議來解決這個問題?
由於提前
在webdriver中,雖然打開頁面Webdriver:如何重寫get()方法?
Webdriver.get(「www.yahoo.com」);
如果我想點擊一個元素立即出現,不必要的,我必須等到頁面加載完成。
有沒有解決方案/建議來解決這個問題?
由於提前
在默認網絡驅動程序實例將等待頁面加載完成。但是,如果頁面負載超過給定的時間意味着它會拋出TimeOut Exception
更多info您可以更改使用
//Assume driver instance is initialized properly
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
的timeout
時間。
在webdriver的有3個隱等待
implicitlyWait
driver.manage()超時()implicitlyWait(30,TimeUnit.SECONDS)。; 。
pageLoadTimeout
driver.manage()超時()pageLoadTimeout(30秒)。;
setScriptTimeout
driver.manage()超時()setScriptTimeout(30秒)。。
您可以在拋出異常之前指定上述方法中的等待時間。
有關更多信息,請參見本link
我嘗試了隱式地等待和setScriptTimeout方法,但它們都不允許我的頁面停止並將控件交還給webdriver。它繼續加載 – user2032292
如果你想停止頁面加載嘗試這個邏輯driver.findElement(By.tagName(「body」))。sendKeys(Keys.ESCAPE); – Santoshsarma
嘗試FluentWait,雖然這是處理AJAX的元素,但可能是你的情況下非常有用。這裏是資源 - http://www.thoughtworks-studios.com/twist/2.3/help/how_do_i_handle_ajax_in_selenium2.html
感謝您的信息 我已經嘗試了下面的代碼。 //假設驅動程序實例已正確初始化 driver.manage().timeouts()。pageLoadTimeout(5,TimeUnit.SECONDS); 但仍然沒有解決我的問題。儘管達到5秒,頁面仍然繼續加載。 – user2032292