在编写测试剧本时,如果没有声明延迟/超时,可以使用以下方法来解决下一步中元素或文本无法找到并抛出错误的问题:
driver.implicitly_wait(10) # 设置等待时间为10秒
# 在这里执行测试步骤,如果元素或文本未找到,脚本将等待10秒
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 在这里执行测试步骤
# 使用显示等待等待元素或文本的出现
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "element_id")))
import time
# 在这里执行测试步骤
time.sleep(2) # 等待2秒
# 继续执行下一步,查找元素或文本
请注意,尽量避免在测试剧本中使用固定的延迟时间,因为它们可能会导致测试的不稳定性。最好使用隐式等待或显示等待来等待元素或文本的出现。