请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

用list循环课程的时候,可以循环个2列课程,到第三列课程时候,就提示找不见元素了

代码如下:
public void test03(){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List courseList=driver.findElements(By.className(“shizan-name”));
for(int i =0;i<courseList.size();i++){
courseList.get(i).click();
driver.navigate().back();
driver.findElement(By.className(“js-close”)).click();
courseList=driver.findElements(By.className(“shizan-name”));
}
}

正在回答 回答被采纳积分+3

1回答

提问者 qq_奇帅_0 2020-02-09 17:01:08

我把等待时间延长些,每次都需要我手动把浏览器滚动条在往下拖一下,selenium才能看见这个元素,才能继续自动完成循环。我看视频,也只需要拖动一次就可以了,为什么,代码循环完一列课程后,需要手动拖动浏览器才能继续循环。如果,我不继续拖动,会出现一行报错,找不见点击的元素。我手动拖动就可以了???

0 回复 有任何疑惑可以回复我~
  • 你好,这个时候你需要看他们是不是改版,改成延时加载,也就是打开页面我们元素没有加载下面的,只有当页面滚动才加载。如果是,那么每次点击完毕一行的时候滑动一下。
    回复 有任何疑惑可以回复我~ 2020-02-10 10:54:18
  • 提问者 qq_奇帅_0 回复 Mushishi #2
    好的,老师
    回复 有任何疑惑可以回复我~ 2020-02-10 19:51:27
  • 啊哈哈略知一二 回复 提问者 qq_奇帅_0 #3
    我也遇到同样的问题,现在换行时确实得先向下滑动一点。
    回复 有任何疑惑可以回复我~ 2020-02-12 18:42:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信