【发布时间】:2017-09-21 19:34:22
【问题描述】:
是否有可能在网页上查看以下事件:某个元素已变为可见?
使用 selenium 可以做到这一点吗?
例如,如果我定义了从 startTime 到 endTime 观看网页的时间线。从 startTime 到 endTime,可以捕获不同的网页事件,其中包括 dom 操作(例如:添加了 html 元素并使其可见)。一旦达到 endTime,我将遍历事件列表,并且可以验证是否发生了特定事件。
就我而言,我想知道一个 html 元素是否可见。
通常的找出方法是使用 webdriver 的 API 来检查元素的可见性,并设置一些超时。
但是,我想捕获不同的事件并进行一些回调,从而验证是否发生了一些预期的事件。
[更新]:我们是否支持 Selenium 中的 MutationObserver?
【问题讨论】:
-
在没有任何经过验证的代码的情况下,使用冗长的文本和通用的操作很难理解您的确切要求。你能更新我们你的手动步骤吗?
-
我还没有尝试过代码,但是遇到了我们无法在超时内找到 html 元素的情况,即使在视觉上我们看到该 html 元素变得可见。寻找跟踪 dom 操作的替代方法,刚刚找到关于 MutationObserver 的信息。现在检查 selenium 是否有与 MutationObserver 相关的 API
-
如果没有任何经过验证的代码和错误堆栈跟踪,很难猜测那里发生了什么错误并缩小范围以进行补救。是的,
MutationObserver确实有解决方案。
标签: javascript java html selenium dom