【selenium】延时等待

本文介绍了Selenium中隐式等待和显式等待的概念及应用。隐式等待设置浏览器在找不到元素时等待指定时间,而显式等待通过WebDriverWait对象配合预期条件来等待特定元素出现或可点击。示例代码展示了如何设置等待时间和定位页面元素,确保在页面加载完成后再进行操作,避免找不到元素的异常。
摘要由CSDN通过智能技术生成

隐式等待

from selenium import webdriver

browser = webdriver.Firefox()
browser.implicitly_wait(10)
url = 'http://www.zhihu.com/explore'
browser.get(url)
input = browser.find_element_by_class_name('ZhihuLogoLink')
print(input)

当查找节点并没有立即出现的时候,影视等待将等待一段时间再查找DOM,默认时间为0

显示等待

from selenium import webdriver
from selenium.webdriver.common.by  import  By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Firefox()
browser.get('http://taobao.com')
wait = WebDriverWait(browser,10)
input = wait.until(EC.presence_of_element_located((By.ID,'q')))
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'.btn-search')))
print(input,button)

首先,引入WebDriverWait对象,指最长等待时间,
然后,调用until()方法,传入要等待条件EC( expected_conditions )代表节点出现,其参数是节点的定位元组,也就是ID为q的节点搜索框

效果就是再10秒内如果ID为q的节点(即搜索框)成功加载出来,就返回该节点;如果超过10秒还没有加载出来,就抛出异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值