【问题标题】:How to get the text from the latest chat bubble when automating chatbot using Selenium使用 Selenium 自动化聊天机器人时如何从最新的聊天气泡中获取文本
【发布时间】:2019-10-31 15:33:21
【问题描述】:

当使用 Selenium 自动化聊天机器人时,我想打印最新的聊天气泡文本。但相反,代码从聊天的第一个聊天气泡中打印文本。如果所有聊天气泡的 html 代码相同,如何获取最新的聊天气泡文本?

我用来从聊天气泡中获取文本的 selenium 代码。

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

我想要获取其文本的聊天气泡的 html 代码。所有聊天气泡都有相同的代码,不同之处在于跨度标签之间的文本

<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> 

【问题讨论】:

  • 我现在不能测试这个,但我想你可以做"//*[@class='Linkify'][last()]//span"

标签: java html selenium selenium-webdriver


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2021-05-19
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多