等待处理程序注册 - selenium

cou*_*ech 6 selenium

有一个带有按钮的 html 页面,我的 selenium 测试正在测试,当单击按钮时执行了一个操作。

问题是,看起来点击发生在执行 javascript 之前 - 在处理程序绑定到页面之前。结果是,selenium 测试将单击按钮,但不会发生任何操作。

我可以通过反复尝试单击然后观察是否发生了所需的操作来解决此问题(通常页面上存在某些元素)。我想听听有一些更优雅的解决方案......

Ant*_*des 2

没有明确的方式来表示“等待元素 X 具有这样那样的处理程序”;这是 JavaScript 和 DOM 的限制(例如,请参阅使用 addEventListener 获取附加到节点的事件侦听器jQuery 查找向对象注册的事件处理程序),并且就此而言,无法创建 selenium Expected Condition,至少不能简单地创建。

我已经求助于time.sleep(0.5).