📅  最后修改于: 2023-12-03 14:58:41.679000             🧑  作者: Mango
在编写自动化测试脚本时,经常会遇到网页加载缓慢的情况,这时我们可以使用“隐式等待”来解决这个问题。但是,在使用隐式等待时,也可能会遇到一些异常情况。
隐式等待是指,当代码执行到某个元素需要加载时,程序自动等待一定的时间,等待时间结束后,代码再继续执行。这样可以避免因为网页加载缓慢导致的元素定位失败等问题。
NoSuchElementException
:如果等待时间结束后,元素还未出现,将会抛出此异常。
TimeoutException
:如果等待时间过长,但是元素仍未出现,将会抛出此异常。
合理设置等待时间:一般情况下,建议将等待时间设置在合理范围内,一般不要超过10秒。
确认元素是否唯一:如果元素不唯一,会导致元素无法准确地被定位,从而出现异常情况。
使用显示等待:显示等待可以针对不同的情况灵活地设置等待时间,能够更精确地控制脚本执行流程。
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(10)
try:
# 等待10秒,如果页面中未出现该元素,将会抛出NoSuchElementException。
element = driver.find_element_by_id("my-id")
except NoSuchElementException:
print("Element not found after waiting for 10 seconds.")
driver.quit()