gpt4 book ai didi

java - 如何使用 Selenium 监视网页并知道何时出现新的 html 元素?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:45:24 25 4
gpt4 key购买 nike

我有一个网页,有时会动态添加新元素,例如:

<span class="chat_message">| New Login</span>

当上述代码添加到我的页面时,我如何捕获?

我的代码试验:

WebDriver driver = new ChromeDriver () ;
driver.get("http://www.example.com") ;
// code to monitor the new span

最佳答案

如果您知道该元素的定位符 - 有一个带有 findElement() 的“while”循环在其中,并捕获 NoSuchElementException。如果该元素不存在,您将捕获异常,暂停一段时间(通过 sleep),然后开始新的循环。如果没有抛出异常,则元素存在;将您的 while 控制变量更改为 true,然后继续。

我建议有一个计数器循环运行了多少次,如果它达到某个阈值 - 打破它,出现错误/异常 - 这样你就不会陷入无限循环。

恭喜 - 你刚刚实现了 WebDriverWaitpresenceOfElementLocated()预期条件。您可以使用它(vanilla selenium 版本),也可以坚持使用自己开发的解决方案,这将为您提供更精细的控制和决策树 - 但需要更多编码。


如果你没有特定的元素,只是想看看页面本身什么时候发生变化,算法是一样的,但是:在开始循环之前,获取页面源。入其身,再取之;如果两者不同,那就是你的突破条件。
不过,这种方法会受到页面中最细微变化的影响。

关于java - 如何使用 Selenium 监视网页并知道何时出现新的 html 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54729651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com