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