在Instagram中查找主题标签元素的问题

时间:2018-12-25 14:47:45

标签: java selenium selenium-webdriver automation instagram

场景:

  1. 使用用户名和密码登录
  2. 使用主题标签搜索
  3. 单击每个帖子,然后单击“赞”按钮

用于搜索帖子和喜欢的代码:

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,但在滚动后会增加。 滚动时大小会改变。

2 个答案:

答案 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')]");