美文网首页python学习
python+selenium(4)元素等待

python+selenium(4)元素等待

作者: 考拉十口 | 来源:发表于2022-07-25 23:32 被阅读0次

    针对寻找页面元素时,页面还没有加载完成的情况,可以通过添加等待时间,确保脚本稳定性。

    影响请求的因素:网络速度;电脑配置;服务器处理请求的速度

    【强制等待】

    比如,time.sleep(3),就代表等待3秒

    适用场景:脚本调试;倒计时页面

    缺点:脚本运行的性能低

    【隐式等待】

    设定时间内,检查所有页面元素是否加载完成,如果超过设定的时间还没有加载完成不到抛出异常。

    比如,driver.implicitly_wait(5),如果页面元素在5秒内都加载完成,也可以继续往下执行。

    print(time.time())

    driver.implicitly_wait(5)

    print(time.time())

    通过implicitly_wait上下两个打印时间戳的代码,可以得到页面实际的加载时间,使用try/except捕获异常。

    try:

          driver.find_elements_by_id("app")

    except Exception as msg:

            print(msg)

    适用场景:验证页面上加载所有元素需要的时间

    【显示等待】

    设定时间内,每隔一段时间检查某个元素是否存在,如果超过设定的时间检测不到抛出异常。

    WebDriverWait(driver, 10, 1).until(lambda x: x.find_element_by_id("app"))

    driver--浏览器

    10--最长等待时间

    1--间隔时间

    until--方法

    p.s.

    【导入time】

    time底部有红色波浪线,鼠标定位到time,点击上方显示的红色灯泡,点击

    导入time工具包,即可使用time

    【导入WebDriverWait】

    相关文章

      网友评论

        本文标题:python+selenium(4)元素等待

        本文链接:https://www.haomeiwen.com/subject/gwpwirtx.html