selenium等待方式之显示等待
2024-08-27 22:26:14
有时候,页面元素并未及时加载出来导致后面的步骤无法执行
这里就需要在加载前添加等待时间,让目标元素有足够的时间加载出来
第一种方法:使用time.sleep()
这种方法过于强制,无论元素是否加载出来都要等指定的时间,导致脚本执行效率不高
第二种方法:隐式等待implicitly_wait()
这种方法比较全局性,意味着一旦启用,全局有效,所有步骤都需要等待所有页面元素加载完后才会继续执行后续脚本
第三种:显示等待WebDriverWait
通俗的说法,指定的某元素,等待加载出来后,再执行后续操作。
这种等待方式可利用参数循环查询元素,超时即抛错
比如:
from selenium.webdriver.support.wait import WebDriverWait browser = webdriver.Chrome() WebDriverWait(browser,30,0.2).until(lambda x:x.find_element_by_xpath("//span[contains(text(),'保存到网盘')]"))
超时时间30秒,每0.2秒查询一次,当能查询到xpath("//span[contains(text(),'保存到网盘')]"时,执行后面的操作,否则直到达到超时时间后,程序异常出错
使用这种等待方式,需要import库
”from selenium.webdriver.support.wait import WebDriverWait“
最新文章
- UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享
- Spark 学习总结
- android 修改 SwitchPreferenceCompat 高度,内边距,字体大小
- Bash:-:-获取未来40天的日期
- cookie 的“Value”=“xxxxx,xxxxx”部分无效
- Exception-异常
- Swift编程语言中的方法引用
- (转)jQuery轻量级响应式图片轮播插件ResponsiveSlides.js(仅1kb)也可以做纯文本轮播
- JavaScript网站设计实践(五)编写photos.html页面,实现点击缩略图显示大图的效果
- c# 中List<;T>; union 深入理解
- lvchange的available參数
- linux文件解-压缩
- 利用Java内置的API开发JMX功能
- Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink、Marvell、Intel
- Gradle 1.12用户指南翻译——第三十二章. JDepend 插件
- Golang中WaitGroup使用的一点坑
- win10下rdlc报表在vs(visual studio)中中文显示小方块的批量处理解决方法
- Python进阶笔记
- 涂抹mysql笔记-数据库中的权限体系
- PHP 设计模式系列 —— 工厂方法模式(Factory Method)(转)