// Sleep until the div we want is visible or 5 seconds is over
long end = System.currentTimeMillis() + 5000;
while (System.currentTimeMillis() < end) {
// Browsers which render content (such as Firefox and IE) return "RenderedWebElements"
RenderedWebElement resultsDiv = (RenderedWebElement) driver.findElement(By.className("gac_m"));
// If results have been returned, the results are displayed in a drop down.
if (resultsDiv.isDisplayed()) {
break;
}
}
使用类WebDriverWait。
也请看这里
你可以期待显示一些元素。类似于C#的东西。
一般来说,在Selenium 2.0中,网络驱动应该只在确定页面已经加载后才将控制权返回给调用代码。如果没有,你可以调用
waitforelemement
,它循环调用findelement
,直到找到它或超时(可以设置超时)。如果你想等待一个特定的元素加载,你可以在一个
RenderedWebElement
上使用isDisplayed()
方法。(例子来自《5分钟入门指南》1)