场景:
用于搜索帖子和喜欢的代码:
List<WebElement> postlinks =
driver.findelements("//a[starts-with(@href, '/p')]");
for(int i=0;i<postlinks.size();i++){
postlinks.get(i).click();
Like.click();.
}
我的问题:
postlinks
的大小最初为21,但在滚动后会增加。
滚动时大小会改变。
答案 0 :(得分:0)
这里
List<WebElement> postlinks =
driver.findelements("//a[starts-with(@href, '/p')]");
您正在收集链接,可以说大小为21。
去forLoop
for(int i=0;i<postlinks.size();i++){
在执行此操作的过程中,如果您认为它可以增加链接,但仍在使用固定为21的后链接。
答案 1 :(得分:0)
尝试使用while loop
List<WebElement> postlinks = driver.findelements("//a[starts-with(@href, '/p')]");
// define maximum post count to click
int MaxCount = 40;
int i = 0;
while(i < MaxCount) {
postlinks.get(i).click();
Like.click();
i++;
if(i == postlinks.size()) // index of 20, 40,... then get new element
postlinks = driver.findelements("//a[starts-with(@href, '/p')]");