元素:存在 > 可见 > 可用
需要判断元素状态
等待方式1:强制等待 -- 辅助
设置等待几秒,就必须等待几秒
示例:
from time import sleep
sleep(3)
强制等待3秒
等待方式2:智能等待(隐性等待) -- 辅助
implicity_wait
1.每个会话只调用一次
2.找元素、命令执行完成
示例:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("www.baidu.com")
driver.implicitly_wait(10) #
智能等待10秒
等待方式3:显性等待 -- 常用
由两部分组成:等待(webdriverwait类) + 条件(expected_condition)
webdriverwait(driver, 超时时间, 查看周期=0.5).until(条件) #每0.5秒查看一次是否满足条件
webdriverwait(driver, 超时时间, 查看周期=0.5).not_until(条件)
常用的三种元素判断方法
presence_of_element_located() #元素存在
visibility_of_element_located() #元素可用
element_to_be_clickable() #元素可点击
示例:
from selenium.webdriver.support.wait import webdriverwait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("www.baidu.com")
wait = webdriverwait(driver,20) #20秒后超时
loc = (By.ID,'kw')
wait.until(EC.presence_of_element_located(loc)) #判断元素存在,这里不需要解包
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。