selenium 隐式等待

sleep 强制睡眠不够平滑

经过资料查找,选择了隐式等待来替代,时间上更平滑快速。 

隐式等待也有好多种,我最终选择了 WebDriverWait

这个需要与until_not或者until 配合使用

有几个小坑需要注意

wait2.until(EC.presence_of_element_located((By.XPATH,'.//tbody/tr/td[3]')),message="")

#等待查找条件 某个元素出现

此处注意,如果省略message=“”,则By.ID外面是三层() ,这个被坑一次。

xpath作为条件的话,xpath末尾不得是text() ,必须是element对象,也被坑一次。

上代码。

from selenium.webdriver.common.by import By

#引入WebDriverWait
from selenium.webdriver.support.ui import WebDriverWait
#引入expected_conditions类,并重命名为EC
from selenium.webdriver.support import expected_conditions as EC


#隐式等待
wait2 = WebDriverWait(cb, 5)#设置一个隐式等待  5秒超时
wait2.until(EC.presence_of_element_located((By.XPATH,'.//tbody/tr/td[3]')),message="")#等待查找条件 某个元素出现
# 此处注意,如果省略message=“”,则By.ID外面是三层() , xpath不得是text() 必须是element对象

#wait2.until_not()#等待查找条件 某个元素消失

htmlobj=etree.HTML(cb.page_source)
# xpath
zt_num=htmlobj.xpath('.//tbody/tr/td[3]/text()')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值