资讯动态

selenium三种等待方式详解

发布时间:2026/8/4 17:36:12 来源:尧图企业网站定制
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快在UI自动化过程中常遇到元素未找到代码报错的情况。这种情况下需要用等待wait。在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverWait一、固定等待(sleep)导入time模块设定固定的等待时间缺点在网络状态良好元素可以加载出来的情况下依然需要等待会导致脚本允许时间延长。二、隐式等待(implicitly_wait)隐式等待是指页面元素在设定时间内全部加载完成才能执行下一步。若超过了设定时间报异常缺点页面的JS一般是放在body的最后加载的若JS没有加载页面想要的元素已经出现这时还要继续等待。也会影响脚本执行速度。三、显示等待(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方法还可以使用匿名函数lambdalambda driver:driver.find_element(定位元素)例如WebDriverWait(driver, 5, 1).until(lambda driver:driver.find_element_by_id(kw))最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价