页数执行有问题
来源:6-10 循环课程体系代码完善

已婚单身狗
2020-09-08
public void test01() {
List pageNum = getPageNum();
System.out.println(pageNum.size());
for (int j = 0; j < pageNum.size()-1; j++) {
List courseList = driver.findElements(By.className(“shizan-name”));
for (int i = 0; i < courseList.size(); i++) {
System.out.println(courseList.get(i).getText());
courseList.get(i).click();
sleep(500);
driver.navigate().back();
sleep(500);
courseList = driver.findElements(By.className(“shizan-name”));
}
driver.findElement(By.linkText(“下一页”)).click();
sleep(3000);
}
}
public List getPageNum() {
List pageNumList = new ArrayList();
List aElementList = driver.findElement(By.className(“page”)).findElements(By.tagName(“a”));
for (WebElement aElement : aElementList) {
String pageNum = aElement.getText();
if (isNum(pageNum) == true) {
pageNumList.add(Integer.valueOf(pageNum).intValue());
}
}
return pageNumList;
}
public boolean isNum(String pageNum) {
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(pageNum);
if (isNum.matches()) {
return true;
} else {
return false;
}
}
代码和上课的一样,但是实际执行的时候出现以下问题
这段代码循环完后,并没有跳到第7页就结束了,等于少了一页
而这段代码,我把-1删掉,执行完以后页码是对的,但是最后报了一个错,找不到linktest=“下一页”。这是怎么回事
1回答
-
Mushishi
2020-09-08
1、你去把你的获取到的总页数 pagenum.size 打印出来 看一下你的个数 然后确认这个数据和你的实际数据是不是一样的 有可能不一样 中间有。。。的那种
2、每次自动执行点击下一步的时候看一下 看一下页面的变化。就是到当前页面的时候去判断一下有没有下一页,如果有那么直接点击。没有就暂停 看一下是不是
022020-09-09
相似问题