Selenium_三种等待时间
三种等待时间:
强制等待:
time.sleep(3),强制等待几秒,执行下一步操作。
缺点:不准确,浪费等待时间。
隐式等待:
在一定的时间内,页面加载完成,就进行下一步操作。
优点:设置一次即可。
缺点:等待整个页面加载完成,可能我们需要的页面元素已经加载完成,但是页面一些大的文件、图片没有加载完成,那么就有必要等待整个页面加载完成。
显式等待:
webdriverwait
程序每隔x秒去看一眼指定元素,如果条件成立了,则执行操作,否则继续等待,直到超过设置的最长时间,然后抛出异常。
webdriverwait(driver,超时时间,调用频率).until(要执行的方法,超时返回的错误信息)
#首先导入库
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC #导入查看元素状态的类取别名为EC
#方法一
WebDriverWait(browser,10,0.5).until(lambda x:x.find_element(By.XPATH,"xath路径"))
#方法二
WebDriverWait(browser,10,0.5).until_not(EC.visibility_of_element_located((By.XPATH,"xpath路径")))