selenium的三种等待方式

1、sleep(强制等待,进程休眠)

    1、作用于局部。浪费时间。看情况使用。

  2、implicitly_wait(30)(隐式等待)

    1、作用于全局。

    2、需等待页面完全加载完成,之后才会去查找元素。(游览器左上角转圈结束表示加载完成)

    3、如果页面元素加载已完成。但是部分js之类的加载失败(此时页面转圈是一直在转的),会继续加载,直到30s。

    4、且有切换页面的时候。需加强制等待,不然会报错。

    &一般自动化脚本不会用隐式等待

  3、WebDriverWait(显示等待)    

    WebDriverWait(self, driver, timeout, poll_frequency=POLL_FREQUENCY, ignored_exceptions=None)

    1、在a秒内,每间隔b秒内查询一次。查询到了就返回,没查询到就等待下一次查询,超过a秒还未查询到就抛出timeout异常。

    2、作用于局部

    3、格式如下:

      1、element = WebDriverWait(driver,10).until(lambda x: x.find_element_by_id("kw"))

      element.send_keys("xxx")

      注:对照上面,第一个参数self忽略,第二参数传driver不用说,第三个参数timeout传10,可以自行修改。第四个参数poll_frequency不修改默认0.5,可以自行修改。

      第五个ignored_exceptions默认忽略异常。(这里的x传的是driver。lambda学过python基础应该都知道)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值