selenium webdriver的等待元素加载方式

selenium webdriver的等待元素加载方式

一、强制等待

from time import sleep
time.sleep(1) #在此处等待一秒

二、隐式等待

driver = webdriver.Chrome()
driver.implicitly_wait(10)

每条语句最多等待10秒,10秒后依然未找到则抛出异常。10秒内发现该元素则继续下一条语句。

注:不可追加click方法
driver.find_element_by_name(‘name’).click()#可能会失效
若要使隐性等待生效,需改为:
element = driver.find_element_by_name(‘name’)
element.click()

三、显示等待
隐式等待申明一次即可;显示等待每条语句都要申明;

from selenium.webdriver.support.ui import WebDriverWait
#引入expected_conditions类,并重命名为EC
from selenium.webdriver.support expected_conditions as EC
#引入By类
from selenium.webdriver.common.by import By
 
#设置等待
wait = WebDriverWait(driver,10,0.5)
wait.until(EC.presence_of_element_located((By.ID,'KW'))).click()

注:
WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)

driver:浏览器驱动

timeout:最长超时时间,默认以秒为单位

poll_frequency:检测的间隔步长,默认为0.5s

ignored_exceptions:超时后的抛出的异常信息,默认抛出NoSuchElementExeception异常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值