等待
1.显示等待
显示等待是单独针对某个元素,设置一个等待时间如5秒,每个0.5秒检查一次元素是否出现,如果在五秒之前任何时候出现,则继续向下执行,超过五秒尚未出现则抛出异常。
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None) driver -WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程) timeout - 最长超时时间,默认以秒为单位 poll_frequency -休眠时间的间隔(步长)时间,默认为 0.5 秒 ignored_exceptions -超时后的异常信息,默认情况下抛 NoSuchElementException 异常。 WebDriverWai()一般由 unit()或 until_not()方法配合使用element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“someId”))
2.隐式等待
隐式等待是全局的针对所有元素,设置等待时间如10秒,如果10秒内所有元素出现并找到目标元素则继续向下,否则抛出异常。隐式等待存在一个问题,那就是程序会一直等待整个页面加载完成,也就是页面不再刷新后才会执行下一步,但是有时候页面想要的元素早就在加载完成了,但是因为js之类的东西特别慢,仍得等到页面全部完成才能执行下一步
driver.implicitly_wait(n) n为设置的等待时间
3.强制等待
用以设置固定的线程休眠时间(s),使得整个脚本暂停
time.sleep(s)
标签:selenium,元素,driver,基础知识,等待时间,自动化,等待,隐式,页面 From: https://www.cnblogs.com/littleforest-meiyuguai/p/16921531.html