我正在用Java中的Selenium FirefoxDriver開發一個測試單元。我想要一些幫助處理頁面加載。我的問題是等待元素,但仍然有一個超時。我已經嘗試過申請pageLoadTimeout
,implicitlyWait
沒有成功,有些方法會繼續等待整頁加載。我的代碼預覽:Java Selenium等待元素超時
(...)
FirefoxDriver driver= new FirefoxDriver(firefoxProfile);
driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.MILLISECONDS);
driver.manage().timeouts().implicitlyWait(1, TimeUnit.MILLISECONDS);
try {
driver.get("http://mysite");
} catch (org.openqa.selenium.TimeoutException e) {
//after 1 milisecond get method timeouts
}
for (int i = 0; i < 5; i++) {//5 seconds wait
if (driver.findElements(By.id("wait_id")).size() == 0) { //findElements cause java to wait for full load
debug("not found");//never happens because 'if' condition waits for full load
driver.wait(1000);
} else {
debug("found");
break;
}
}
在此先感謝。
我猜你運行你的Firefox [不穩定加載策略(http://code.google.com/p/selenium/wiki/FirefoxDriver#-Beta-_load_fast_preference),對不對?在這種情況下,我猜這是行不通的,因爲功能是測試版,不完整和Firefoxy專用。 = /但我們會看到,也許有人對此持有一些看法。 –
不,我沒有使用該配置文件pref ...我會稍後嘗試併發布結果。 – Ciro
但似乎符合我的目標。發佈作爲答案,我可以給你信用。 – Ciro