使用Selenium自动化chatbot时如何从最新的聊天气泡中获取文本

时间:2019-06-02 07:24:32

标签: java html selenium

使用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 个答案:

答案 0 :(得分:2)

findElement将返回DOM中的第一个匹配元素,即第一个聊天气泡。玩具可以使用findElements来查找所有这些字符,并获取列表中最后一个的文本

List<WebElement> allChats = driver.findElements(By.xpath("//*[@class='Linkify']//span"))
String kk = allChats.get(allChats.size() - 1).getText();