Selenium中元素的三种等待方式
(1)隐式等待:implicitly_wait()
通过一定时长等待页面上某元素加载完成。如果超出了设置的时长元素还没有被加载,则抛出NoSuchElementException异常。
语法:
缺点:当页面某些js无法加载,但是想找的元素已经出来了,它还是会继续等待,直到页面加载完成(浏览器标签左上角圈圈不再转),才会执行下一句。某些情况下会影响脚本执行速度。
(2)显式等待:WebDriverWait()
等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常。
显示等待语法如下:
WebDriverWait(driver,timeout,poll_frequency,ignored_exceptions)
driver: 传入WebDriver实例