使用Java / Selenium创建一个推文的String数组

时间:2016-11-07 03:09:51

标签: java selenium

我正在尝试创建一个由特定页面上的所有推文组成的字符串数组。我已经加载到我想要的页面,并可以将该页面上的第一条推文添加到字符串数组中并打印出来。但由于某种原因,第一条推文反复添加,而不是获得第一条推文,转移到第二条,然后是第三条,等等。这是我的代码:

String[] tweets = new String[50];
int count=0;

List<WebElement> elements = driver.findElements(By.xpath("//*[@class='TweetTextSize  js-tweet-text tweet-text']"));
for (WebElement element : elements) {
    if (element.isDisplayed()) {
        tweets[count] = driver.findElement(By.xpath("//*[@class='TweetTextSize  js-tweet-text tweet-text']")).getText();
        count++;
    }
}

for(int count2=0; count2<tweets.length; count2++)
    System.out.println(tweets[count2]);

2 个答案:

答案 0 :(得分:0)

你为什么第二次做driver.findElement(By.xpath("//*[@class='TweetTextSize js-tweet-text tweet-text']")).getText();?请改用element.getText()

答案 1 :(得分:0)

这一行不会因你的循环变量而改变,所以你每次都会得到同样的东西:

        tweets[count] = driver.findElement(By.xpath("//*[@class='TweetTextSize  js-tweet-text tweet-text']")).getText();

你可能想要:

        tweets[count] = element.getText();