1、强制等待
import time time.sleep(1)
2、智能等待
from selenium import webdriver # 设置全局等待时间 driver.implicitly_wait(30) driver.get("http://www.baidu.com") # 静态页面加载完成 driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_login"]').click() # 当你的操作带来了页面的变化 ,请一定要等待。 # time.sleep(5) # 傻傻等
3、隐形等待 —————一般使用这种
明确的条件(元素可见、窗口存在。。。)。 等待+条件
from selenium.webdriver.support.wait import webdriverwait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By # 元素存在(html里存在,能找到)、 # 元素可见(存在并且可见-看得见大小-可见才可操作)、 # 元素可用(可见之后,才有可用的可能性。只读/不可点击-不可用) # 等待条件表达 # locator = (定位类型,定位表达式) locator = (By.ID,'TangrAM__PSP_10__footerULoginBtn') # EC.visibility_of_element_located(locator) # 条件 # 等待元素可见 webdriverwait(driver,30).until(EC.visibility_of_element_located(locator)) # # 辅助 - 0.5秒 # time.sleep(0.5) # 点击元素 driver.find_element_by_id('TangrAM__PSP_10__footerULoginBtn').click()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。