页数执行有问题

来源: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、每次自动执行点击下一步的时候看一下 看一下页面的变化。就是到当前页面的时候去判断一下有没有下一页,如果有那么直接点击。没有就暂停 看一下是不是

0
2
Mushishi
回复
已婚单身狗
你把你每次循环的下标都打印出来看一下。还有通过获取属性看一下属性有没有变化。
2020-09-09
共2条回复

Java Web自动化测试 Selenium基础到企业实际应用

转型Java自动化测试,企业用什么,你就学什么。

752 学习 · 446 问题

查看课程