Как получить текст из последнего пузыря чата при автоматизации чат-бота с использованием Selenium - PullRequest
0 голосов
/ 02 июня 2019

При автоматизации чат-бота с помощью Selenium я хочу напечатать текст самого последнего чата. Но вместо этого код печатает текст с самого первого чата. Как я могу получить последний текст чата, если все чаты имеют одинаковый HTML-код?

http://i64.tinypic.com/2ms20py.png

Код селена, который я использую, чтобы получить текст из чата.

String kk = driver.findElement(By.xpath("//*[@class='Linkify']//span")).getText();

HTML-код чата, текст которого я хочу получить. Все сообщения в чате имеют один и тот же код, с разницей в том, что текст между тегами span

<div class="bubble-content">
  <span class="message-content">
    <div style="white-space: pre-wrap;">
      <span class="Linkify">
        <span>You can bookmark this tab, I am always here. I will be in touch once I get any updates.
        </span>
      </span>
    </div>
  </span>
</div> 

1 Ответ

2 голосов
/ 02 июня 2019

findElement вернет первый соответствующий элемент в DOM, первый пузырь чата. Игрушка может использовать findElements, чтобы найти их всех и получить текст последнего в списке

List<WebElement> allChats = driver.findElements(By.xpath("//*[@class='Linkify']//span"))
String kk = allChats.get(allChats.size() - 1).getText();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...