Python WebDriverWait直到元素被点击,当页面完全加载时如何超时?
我正在使用下面的代码等待一个元素被点击。然而,我真的希望它在页面完全加载而没有找到元素时立即超时,而不是等待几秒钟。可能吗Python WebDriverWait直到元素被点击,当页面完全加载时如何超时?,python,selenium,Python,Selenium,我正在使用下面的代码等待一个元素被点击。然而,我真的希望它在页面完全加载而没有找到元素时立即超时,而不是等待几秒钟。可能吗 WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, id_var))) 硒本质上是哑的。从您的问题来看,您似乎正在尝试构建一个是一种完整的功能。为此,您可以依赖显式等待(有很多选项可供选择,而不仅仅是可点击),也可以查看selenium的流畅等待功能。如果这也不能解决您的问题,那么您必须实现
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, id_var)))
硒本质上是哑的。从您的问题来看,您似乎正在尝试构建一个
是一种完整的功能。为此,您可以依赖显式等待(有很多选项可供选择,而不仅仅是可点击),也可以查看selenium的流畅等待功能。如果这也不能解决您的问题,那么您必须实现,而True:if:break,else:continue
是一种循环如果您的页面不使用ajax和node js,那么您也可以查看这个javascrpit片段文档。readyState
。成功加载完成后,它应返回complete
。你也可以在你的定制功能中利用这一事实谢谢你,但是如果我没有解释清楚,我希望尽可能短的时间等待元素被点击,但是我希望在页面完全加载时超时。或者您是说执行类似whilenotreadystate的操作,然后使用if条件检查元素的存在性?我不知道如何使用javascript代码段以与函数相同的方式返回值?如果我理解正确,我们希望在页面完全加载或找到元素时发生超时,以较早者为准。如果是这样的话,是的,我们可以实现你提到的东西driver.execute_脚本(“return document.readyState;”)应返回complete
或driver.execute_脚本(“return document.readyState=='complete';”)
应返回True
明白了,非常感谢。