2013-02-01 68 views
1

在webdriver中,雖然打開頁面Webdriver:如何重寫get()方法?

Webdriver.get(「www.yahoo.com」);

如果我想點擊一個元素立即出現,不必要的,我必須等到頁面加載完成。

有沒有解決方案/建議來解決這個問題?

由於提前

回答

0

在默認網絡驅動程序實例將等待頁面加載完成。但是,如果頁面負載超過給定的時間意味着它會拋出TimeOut Exception

更多info您可以更改使用

//Assume driver instance is initialized properly 
    driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS); 

timeout時間。

+0

感謝您的信息 我已經嘗試了下面的代碼。 //假設驅動程序實例已正確初始化 driver.manage().timeouts()。pageLoadTimeout(5,TimeUnit.SECONDS); 但仍然沒有解決我的問題。儘管達到5秒,頁面仍然繼續加載。 – user2032292

1

在webdriver的有3個隱等待

  1. implicitlyWait

    driver.manage()超時()implicitlyWait(30,TimeUnit.SECONDS)。; 。

  2. pageLoadTimeout

    driver.manage()超時()pageLoadTimeout(30秒)。;

  3. setScriptTimeout

    driver.manage()超時()setScriptTimeout(30秒)。。

您可以在拋出異常之前指定上述方法中的等待時間。

有關更多信息,請參見本link

+0

我嘗試了隱式地等待和setScriptTimeout方法,但它們都不允許我的頁面停止並將控件交還給webdriver。它繼續加載 – user2032292

+0

如果你想停止頁面加載嘗試這個邏輯driver.findElement(By.tagName(「body」))。sendKeys(Keys.ESCAPE); – Santoshsarma