Selenium在调试模式下才能点击元素

4 投票
1 回答
2588 浏览
提问于 2025-04-18 08:18

我创建了一个测试,点击一个叫做X的元素。
这个元素只有在你点击另一个按钮后才会显示出来,
而这两个元素是通过ng-hide连接在一起的。

当我尝试运行我的代码时,点击X元素并没有反应。
不过,在调试模式下或者加了1秒的等待后,它就能正常工作了。

我在用Python的Selenium框架,使用的是一个远程的webdriver,设置了10秒的隐式等待。

有人知道为什么会出现这种情况吗?

1 个回答

0

正如@Siking所说,这明显是个时间问题。

实际上,Selenium的速度非常快,快得比元素加载的速度还要快。有时候,Selenium需要暂停一下,或者说“睡一会儿”,以确保某个元素已经加载出来。

我还建议,特别是在处理异步请求的时候,使用waitForElementPresent来等待,直到ajax方法完成。

撰写回答