selenium中强制等待,隐式等待,显示等待的区别

1.强制等待:time.sleep()
最简单的等待方式,缺点:设置时间短了没用,长了又浪费时间
2.隐式等待:
隐式等待是全局的是针对所有元素,设置等待时间如10秒,如果10
秒内出现,则继续向下,否则抛异常。可以理解为在10秒以内,不
停刷新看元素是否加载出来
3.显示等待:
显示等待是单独针对某个元素,设置一个等待时间如5秒,每隔0.5
秒检查一次是否出现,如果在5秒之前任何时候出现,则继续向下,
超过5秒尚未出现则抛异常。
常用的显示等待条件:
title_is(泰透):判断当前页面的标题是否等于某个字符串,相等则条件成立,条件成立返回bool值Ture,如果在设置的等待时间内条件一直不成立,则超时报错。
title_contains(肯特思):判断当前页面的标题是否包含某个字符串,包含则条件成立,条件成立返回bool值Ture,如果在设置的等待时间内条件一直不成立,则超时报错。
presence_of_element_located(普软曾ci 楼K得te):判断某个元素是否出现,传参为元组,例(By.ID,“id值”),在设置的等待时间内元素出现则条件成立并返回元素对象,否则超时报错。
visibility_of_element_located(v则白勒dai):判断某个元素是否出现且该元素为非隐藏的且宽和高都不为0的元素,传参为元组,例(By.ID,“id值”),在设置的等待时间内元素出
现则条件成立并返回元素对象,否则超时报错。
presence_of_all_elements_located():判断多个元素是否出现,传参为元组,例(By.ID,“id值”),在设置的等待时间内元素出现则条件成立并返回元素对象列表,否则超时报错。
visibility_of_all_elements_located():判断多个元素是否出现且所有元素为非隐藏的且宽和高都不为0的元素,传参为元组,例(By.ID,“id值”),在设置的等待时间内元素出现则条件成立并返回元素对象列表,否则超时报错。
visibility_of_any_elements_located():判断多个元素是否出现且至少有一个元素为非隐藏的且宽和高都不为0的元素,传参为元组,例(By.ID,“id值”),在设置的等待时间内元素出现则条件成立并返回元素对象列表,否则超时报错。
text_to_be_present_in_element():判断某个元素上的文本是否包含某个字符串,包含则条件成立,条件成立返回bool值Ture,如果在设置的等待时间内条件一直不成立,则超时报错。
text_to_be_present_in_element_value():判断某个元素上的value属性值是否包含某个字符串,包含则条件成立,条件成立返回bool值Ture,如果在设置的等待时间内条件一直不成立,则超时报错。
frame_to_be_available_and_switch_to_it():判断某个框架是否可以切入,可以则直接切入。条件成立返回bool值Ture,如果在设置的等待时间内条件一直不成立,则超时报错。
该动态条件有两种传参方式:1、元组(By.TAGNAME,“iframe”) 2、与switch_to_.frame()一样
alert_is_present():判断网页上是否存在警告窗口,如果存在则返回该警告窗口对象,否则超时报错。
element_to_be_clickable():判断某个元素是否可以点击,传参为元组,例(By.ID,“id值”),在设置的等待时间内元素出现且可以点击则条件成立并返回元素对象,否则超时报错。
new_window_is_opened():判断是否有新网页打开,如果设置的时间内条件成立返回True,不成立超时报错
number_of_windows_to_be():判断当前打开的页面的数量是否等于某个数值,如果设置的时间内条件成立返回True,不成立超时报错

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Selenium显示等待等待是用于在自动化测试等待页面加载和元素出现的方法。 显示等待需要先导入显示等待所需的模块和等待条件。通过指定最长等待时间和查询元素的频率,直到条件满足或超时后才继续执行后续操作。使用举例的代码,可以在打开百度页面后,等待10秒钟,每0.5秒检查一次是否存在id为"s-top-loginbtn"的元素,直到该元素出现或超时才继续执行下一步操作。 等待是一次设置,全局生效的等待方法。它会在一个时间段内等待页面加载完成,如果在规定时间内加载完成则执行下一步,否则等待时间结束后执行下一步。等待不应该被频繁地使用,只需要在测试开始前设置一次即可。使用举例的代码,可以在打开百度页面后,等待5秒钟,直到页面加载完成后才继续执行下一步操作。 所以,显示等待等待都是用于等待页面加载和元素出现的方法,但显示等待是有条件等待,可以指定等待条件和超时时间,而等待是无条件等待,只需设置一个最长等待时间。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [selenium的三种等待显示等待等待强制等待)简单了解与总结](https://blog.csdn.net/qq_44728587/article/details/122997412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值