在等待元素不可见时,哪个selenium.webdriver.support.expected_conditions
更适合使用?
在我的例子中,我将数据输入表单,单击save并等待加载程序消失
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((SelectBy.CSS_SELECTOR, ".spinner")))
debug("loader appeared")
wait.until(EC.invisibility_of_element_located((SelectBy.CSS_SELECTOR, ".spinner")))
debug("loader disappeared")
在输出中,我看到第二次等待执行了20秒(我的全局隐式等待是20秒)
360ms ⟥ [debug] loader appeared
21s 141ms ⟥ [debug] loader disappeared
定位器很好,我正在努力了解等待有什么问题。 有没有人有类似的问题?我很乐意接受任何建议
您的等待操作彼此堆叠,因为您的代码被链接
让我用你的代码解释一下:
两个wait语句(#2和#3)使用相同的wait对象,因此它们的执行将“stack”:
动作2等待10秒。行动#3等待20秒
来自Waits的文件
可能是以下两种等待的混合:
正在导致不可预测的等待时间
解决方案
在诱导WebDriverWait时,需要使用以下代码行将implicit wait重新配置为
0
:Python:
Java:
DotNet:
相关问题 更多 >
编程相关推荐