使用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>
答案 0 :(得分:2)
findElement
将返回DOM中的第一个匹配元素,即第一个聊天气泡。玩具可以使用findElements
来查找所有这些字符,并获取列表中最后一个的文本
List<WebElement> allChats = driver.findElements(By.xpath("//*[@class='Linkify']//span"))
String kk = allChats.get(allChats.size() - 1).getText();