当前位置: 首页 > 知识库问答 >
问题:

Selenium(Python):点击按钮后,等待所有新元素(可以有不同的属性)加载[重复]

萧鹏云
2023-03-14

单击特定按钮后,如何等待屏幕上显示的所有新元素加载?我知道我可以使用presence\u of_elements\u located函数来等待特定的元素,但是我如何等待直到所有新元素都加载到页面上?请注意,这些元素可能不一定只有一个属性值,如类名或id。

共有1个答案

倪棋
2023-03-14

实际上你不能,但是你可以运行一个脚本来检查。

但是要小心,这在javascript/AJAX元素上不起作用。

self.driver.execute_script(返回document.ready状态). equals(完成))

 类似资料:
  • 当我点击一个按钮时,它会显示一个带有另一个按钮的表单,我想点击其中一个。这是一个视频(非常短),请观看http://screencast.com/t/zyliSemW1s1 所以我点击“买票”按钮,简单如下: 然后我等待下一个按钮被点击。 我使用下一个代码: 之后,我点击我等待的按钮: 我得到错误:元素在这一点上是不可点击的。 据我所知,该方法预期的条件。ElementToBeClickable(

  • 我经常遇到Selenium的问题,脚本崩溃,因为我想访问尚未加载的元素。 目前我是这样做的,我在这些地方之前放了一个,但有时需要更长或更短的时间才能加载元素。 有没有办法等到元素加载完毕,一旦加载,立即继续执行其余的代码?

  • 我有一个动态加载的页面,其中包含一个按钮。我正在尝试等待selenium使用C#绑定点击按钮。我有以下代码: 不过这不管用。click事件永远不会被触发。selenium脚本不会抛出异常警告ID为“addInspectionButton”的元素不存在。它只是不能点击它。如果我加一根线。Sleep(3000)在wait语句和我获得按钮元素句柄的那一行之间。 我没有使用预期条件.元素在这里正确点击吗?

  • 我将测试一个网络应用程序。在我的表中有一个按钮可以选择所有条目。我尝试过: selenium单击按钮,但什么也没发生。(还有send_Keys(Keys.Return))应用程序是用GXT开发的,我发现按钮后面有很多javascript。是否有可能等待事件加载器准备就绪?在单击之前等待可以解决问题,但不是自动测试的解决方案。

  • 我想在点击后获取页面的页面源。然后使用browser.back()函数返回。但是Selenium不会让页面在点击后完全加载,并且由JavaScript生成的内容不包含在该页面的页面源中。

  • 我使用和来获取网页请求的所有资源的(包括广告的URL,通常位于嵌套的iframes中)。但是,这可能不适用于和请求中的资源。阅读有关这方面的文档并查看其他答案,似乎可以使用等待元素出现。但是在我的情况下,我必须加载几个网站(几千个站点),可能没有任何公共元素可以等待。我一直在使用,因为秒似乎足够长的时间让所有嵌套的iframes最终出现。我想知道是否有人能证实这是否是正确的方法,是否有任何其他方法