Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python WebDriverWait直到元素被点击,当页面完全加载时如何超时?_Python_Selenium - Fatal编程技术网

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
明白了,非常感谢。