单击特定按钮后,如何等待屏幕上显示的所有新元素加载?我知道我可以使用presence\u of_elements\u located
函数来等待特定的元素,但是我如何等待直到所有新元素都加载到页面上?请注意,这些元素可能不一定只有一个属性值,如类名或id。
实际上你不能,但是你可以运行一个脚本来检查。
但是要小心,这在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最终出现。我想知道是否有人能证实这是否是正确的方法,是否有任何其他方法