设置元素等待原因:由于网络环境、配置等问题,导致我们在执行脚本过程中没有加载出来,触发异常。
所以要设置等待
第一种、隐式元素等待 (全局)
第二种、显示元素等待(单个)
第三种、强制元素等待
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
# 1. 获取浏览器
driver = webdriver.Chrome()
# 2. 打开浏览器 # 输入自己的url
driver.get("")
# 3.元素等待
# # 第一种、隐式元素等待 (提示:在项目中,没有进行封装自动化框架时,推荐使用)
# # 针对全局所有元素生效,第一次未找到,等待10秒 implicitly_wait(10)
# driver.implicitly_wait(10)
# driver.find_element(By.CSS_SELECTOR, "#user1")
#第二种、显示单个元素等待 -> 返回查找到的元素 (自己进行封装自动化框架用这个框架)
# WebDriverWait() 需要导包 设置10秒 0.5秒找一次
el = WebDriverWait(driver, 10, 0.5).until(lambda X:X.find_element(By.CSS_SELECTOR, "#user1"))
el.send_keys("admin")
# 第三种、强制元素等待 sleep()(需要导包 from time import sleep )
sleep(3)
# 4. 关闭浏览器
driver.quit()