我正在尝试查看1-50的所有页面。但是,我无法使用iselementpresent
遍历所有页面。
表格页:
1 2 3 4 5 6 7 8 9 10 ...
我尝试用
遍历每一个If iselementpresent(nextpagenumber) then
click on nextPageNumber
else:
print "done"
然而,当iselementpresent()
到达第12页时,它会说第12页不存在,然后给我一个错误。是不是iselementpresent
应该帮助我避免遇到错误?
答案 0 :(得分:0)
基本思路是在开启另一个表页面时等待所有AJAX返回页面。 尝试使用一对方法:流利的等待+ isElementDisplayed。
public WebElement fluentWait(final By locator){
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(5, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(
new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
}
);
return foo; } ;
选择每个表页面上存在的任何Web元素,并使用流畅的等待等待它,然后切换到下一个表页面。 +使用
添加其他检查String cssSelector= ....
driver.findElement(By.cssSelector(cssSelector)).isDisplayed()
希望这适合你)