网站 建设 原则,软件论坛网站有哪些,wordpress接入api,百度账号登录前言
在UI自动化过程中#xff0c;常遇到元素未找到#xff0c;代码报错的情况。这种情况下#xff0c;需要用等待wait。
在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverWait
一、固定等待(sleep)
导入time模块#xff0c;设定固定的等待时间
缺…
前言
在UI自动化过程中常遇到元素未找到代码报错的情况。这种情况下需要用等待wait。
在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverWait
一、固定等待(sleep)
导入time模块设定固定的等待时间
缺点在网络状态良好元素可以加载出来的情况下依然需要等待会导致脚本允许时间延长。 二、隐式等待(implicitly_wait) 隐式等待是指页面元素在设定时间内全部加载完成才能执行下一步。若超过了设定时间报异常 缺点页面的JS一般是放在body的最后加载的若JS没有加载页面想要的元素已经出现这时还要继续等待。 也会影响脚本执行速度。 现在我也找了很多测试的朋友做了一个分享技术的交流群共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源没人解答问题坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化性能安全测试开发等等方面有一定建树的技术大牛
分享他们的经验还会分享很多直播讲座和技术沙龙
可以免费学习划重点开源的
qq群号110685036【暗号csdn999】 三、显示等待(WebDriverWait) 通过from selenium.webdriver.support.wait import WebDriverWait 导入方法WebDriverWait() 参数 driver:浏览器驱动 timeout:最长超时时间单位秒 poll_frequency:监测频率时长单位秒 ignored_exception:忽略的异常信息若报的是元组内的异常则不中断代码继续执行。若报的元组外的异常则中断代码停止执行。 WebDriverWait函数中有until和until not两个方法 until和until not都有参数method和message。注意这里的method参数必须含有_call_()使得类实例对象可以像调用普通函数那样以“对象名()”的形式使用 method在等待时间内每隔一段时间调用下method这个参数判断返回值是否为True若为True则执行下一步。 message:超时后报TimeoutException写入message。 WebDriverWait与expected_conditions结合使用 expected_conditions类提供的条件判断方法 除了上述expected_conditions方法还可以使用匿名函数lambda lambda driver:driver.find_element(定位元素) 例如WebDriverWait(driver, 5, 1).until(lambda driver:driver.find_element_by_id(kw))
END今天的分享就到此结束了点赞关注不迷路~