selenium2网络驱动程序可以';找不到javascript新创建的元素
单击链接会触发创建新元素的操作。但是,在单击返回后调用selenium2网络驱动程序可以';找不到javascript新创建的元素,java,webdriver,selenium-webdriver,Java,Webdriver,Selenium Webdriver,单击链接会触发创建新元素的操作。但是,在单击返回后调用driver.findElement(By.id(“”)找不到它 我尝试了以下代码来等待元素出现 wait.until(new ExpectedCondition() { public Boolean apply(WebDriver webDriver) { System.out.println("Searching ..."); return webDriver.findElement(By.id("itemTyp
driver.findElement(By.id(“”)
找不到它
我尝试了以下代码来等待元素出现
wait.until(new ExpectedCondition()
{
public Boolean apply(WebDriver webDriver) {
System.out.println("Searching ...");
return webDriver.findElement(By.id("itemType1")) != null;
}
});
但是直到超时我仍然找不到它。您可以使用元素。isDisplayed() Så这样做:
WebElement jrnrText = driver.findElement(By.id("id"))
if(jrnrText.isDisplayed()){
wait.until(presenceOfElementLocated(BY.id]("id")))
}
Function<WebDriver, WebElement> presenceOfElementLocated(final By locator) {
return new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator)
}
}
}
WebElement jrnrText=driver.findElement(By.id(“id”))
if(jrnrText.isDisplayed()){
等待.until(通过.id](“id”)找到元素的存在)
}
定位元件的功能显示(最终由定位器确定){
返回新函数(){
公共WebElement应用(WebDriver){
返回驱动程序findElement(定位器)
}
}
}
是否可能在实际添加元素之前调用findElement?wait是多次调用“apply”函数,还是只调用一次?