当前位置: 代码网 > it编程>前端脚本>Python > python的三种等待方式及优缺点小结

python的三种等待方式及优缺点小结

2024年12月06日 Python 我要评论
一、调用方式1.强制等待调用time模块,使用time.sleep(n),强制等待n秒2.隐式等待implicitly_wait(n),设置隐式等待最大时间n秒,等待元素加载完成,如果到了时间元素没有

一、调用方式

1.强制等待

调用time模块,使用time.sleep(n),强制等待n秒

2.隐式等待

implicitly_wait(n),设置隐式等待最大时间n秒,等待元素加载完成,如果到了时间元素没有加载出,就抛出一个nosuchelementexception的错误。

3.显式等待

调用webdriverwait()类,显性等待是对指定元素进行等待的一种等待方式。通过设置最大等待时间,检查频率对页面的元素来进行等待,一旦找到元素,则停止等待,进入后续步骤,否则继续等待,直到超过设置的最长时间,然后抛出timeoutexception异常。

from selenium import webdriver
from selenium.webdriver.support.wait import webdriverwait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import by

driver = webdriver.chrome()
driver.get('https://www.baidu.com')
# 设置浏览器:driver  等待时间:?
wait = webdriverwait(driver, 秒数)# 重要!
# 设置判断条件:等待id='kw'的元素加载完成
input_box = wait.until(ec.presence_of_element_located((by.id, 'kw')))
# 在关键词输入:关键词
input_box.send_keys('关键词')
driver.quit()

二、优缺点

1.强制等待

缺点:较为死板,不能准确把握等待时间,若大量使用会影响执行效率,浪费不必要的时间

优点:调用简单,可在调试时使用

2.隐式等待

缺点:使用不是很灵活,程序会一直等待整个页面加载完成,才会执行下一步操作,需要等待时间完成;在等待时间内页面没有加载完成,时间一到也会进入下一步操作,要定位的元素没有出现则会报元素无法找到的错误

优点:对整个driver的周期都起作用,每一次操作都会隐式等待,只设置一次

3.显示等待

缺点:使用相对复杂,和强制等待类似,每一行等待只执行一次

优点:等待判断准确,不会浪费多余的等待时间,可提高执行效率

总结

到此这篇关于python的三种等待方式及优缺点小结的文章就介绍到这了,更多相关python三种等待方式内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com