2016-11-07 4 views
0

Я пытаюсь создать строковый массив твитов, составленный из всех твитов на определенной странице. Я загрузил на страницу, которую хочу, и могу добавить первый твит на этой странице в массив строк и распечатать его. Но по какой-то причине, первый твит добавляется снова и снова, а не получать первый твит, переходя ко второй, затем третий и т.д. Вот мой код:Использование 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]); 

ответ

0

Почему вы делаете driver.findElement(By.xpath("//*[@class='TweetTextSize js-tweet-text tweet-text']")).getText(); для второй раз? Используйте вместо этого element.getText()!

+0

Это сделали это, спасибо! –

0

Эта линия не меняется в зависимости от вашего переменного цикла, так что вы получите то же самое снова каждый раз, когда:

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

Вы, наверное, хотите:

 tweets[count] = element.getText(); 
Смежные вопросы