我的代码:
public void testUntitled() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.id("user")).clear();
driver.findElement(By.id("user")).sendKeys("XXX");
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("YYY");
driver.findElement(By.name("submit")).click();
driver.manage().timeouts().pageLoadTimeout(5,TimeUnit.SECONDS);
//for (int second = 0;; second++) {
//if (second >= 3) fail("timeout");
//try { if (isElementPresent(By.id("dhx_combo_input"))) break; } catch (Exception e) {}
//driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
// }
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("dhx_combo_input")));
myDynamicElement.click();
driver.findElement(By.id("dhx_combo_input")).sendKeys("12345");
driver.findElement(By.id("btn_forward")).click();
}
问题:检查元素存在时出现超时错误
我尝试使用隐式,显式命令等,但它不起作用..... 问题是在新加载的页面中找到一个新元素(组合框输入)。我已经给了一些超时来检查元素是否存在但它失败了。
如果我使用从selenium IDE生成的相同代码(Junit Webdriver转换)也失败
当我尝试点击新加载页面中的链接而不是组合框时,它会运行... 但链接位于页面顶部,组合框位于页面中间....
不确定是什么问题,有人可以帮我解决这个问题吗