自动化测试的3种等待方式

1、强制等待,硬性等待。time.sleep(),暂停代码运行,强制等待x秒后继续运行
2、智能等待,隐性等待,driver.implicitly_wait(1),启动浏览器的时候设置一次,只能用来等待元素出现

3、显性等待:程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出

webDriverWait(driver ,timeout=10,poll_frequency)

driver: 传入WebDriver实例,即我们上例中的driver
timeout: 超时时间,等待的最长时间(同时要考虑隐性等待时间)
poll_frequency: 调用until或until_not中的方法的间隔时间,默认是0.5秒
ignored_exceptions: 忽略的异常,如果在调用until或until_not的过程中抛出这个元组中的异常,
则不中断代码,继续等待,如果抛出的是这个元组外的异常,则中断代码,抛出异常。默认只有NoSuchElementException
常用的方法:

# 等待某个元素加载

elem = wait.until(expected_conditions.presence_of_element_located(locator))

# 等待元素可见

elem = wait.until(expected_conditions.visibility_of_element_located(locator))

# 等待元素可以被点击

elem = wait.until(expected_conditions.element_to_be_clickable(locator))

posted @ 2021-03-17 18:47  恰好而已  阅读(926)  评论(0)    收藏  举报