是否有替代方法可以替换Thread.sleep(5000)'?目前,评论按钮只点击一次,即使注释按钮还有其他元素,也会转到回复按钮的代码?所以我认为这可能是因为' Thread.sleep(5000)'页面未完成加载。
if(commentsbutton.size() > 0) {
commentsbutton.get(0).click(); //click on button if found
Thread.sleep(5000); //pause for 5 seconds
}
else clickMore = false;
if(repliesbutton.size() > 0) {
repliesbutton.get(0).click(); //click on button if found
Thread.sleep(5000); //pause for 5 seconds
}
else clickMore = false;
if(seemorebutton.size() > 0) {
seemorebutton.get(0).click(); //click on button if found
Thread.sleep(5000); //pause for 5 seconds
}
else clickMore = false;
}
答案 0 :(得分:0)
您可以使用循环,但您必须了解,此循环将在执行期间使用进程资源。我想,无论如何,Thread.sleep都会在你的情况下得到优先考虑......
long now = System.currentMillisec();
long executionDuration = now + 5000;
while(now < executionDuration){
now = System.currentMillisec();
}
但正如你所说
评论按钮只点击一次,然后转到代码
看来,您需要在commentsbutton
集合的元素上添加额外的循环,以便在转到回复按钮之前单击您拥有的所有注释按钮。现在,您只需点击一个按钮,即commentsbutton.get(0).click();
if(commentsbutton.size() > 0) {
for (WebElement element : commentsbutton) {
element.click(); //click on button if found
Thread.sleep(5000); //pause for 5 seconds
}
}