selenium中的三种等待方式以及显示等待和隐式等待区别

这篇具有很好参考价值的文章主要介绍了selenium中的三种等待方式以及显示等待和隐式等待区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

selenium的三种等待方式

selenium中一般分为三种等待方式:显示等待、隐式等待、sleep强制等待

1、显示等待(有条件)
程序提前指定等待条件和等待时间,在查找元素时,判断规定时间内是否满足条件,满足则继续执行,不满足或超出时间则抛出异常

from selenium import webdriver

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait #导入显示等待模块
from selenium.webdriver.support import expected_conditions as EC #导入显示等待条件
import time

driver = webdriver.Chrome()

'''显示等待'''

driver.get('https://www.baidu.com')

'driver 是 webdriver对象,最长等待5s,每0.5秒查询对应的元素,until判断是否满足等待条件'
print(time.time())
baidu_submit = WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located((By.ID,'su')))
print(time.time())
# 即将执行的js语句
js = 'alert("检测百度一下按钮成功")'
if baidu_submit:
    driver.execute_script(js)

2、隐式等待(无条件)
程序提前指定等待时间,在查找元素时,首先会在DOM中查找元素,如果找不到,就继续等待,在等待时间结束之后,再一次查找,如果找到元素则继续执行,没有找到则抛出异常

from selenium import webdriver

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait #导入显示等待模块
from selenium.webdriver.support import expected_conditions as EC #导入显示等待条件
import time

driver = webdriver.Chrome()

'''隐式等待'''

driver.implicitly_wait(5)
driver.get('https://www.baidu.com')
print(time.time())
baidu_submit = driver.find_element(*(By.ID,'su'))
print(time.time())
# 即将执行的js语句
js = 'alert("检测百度一下按钮成功")'
if baidu_submit:
    driver.execute_script(js)

3、sleep强制等待
使用time库中的sleep()方法使程序睡眠,强制等待一段时间后继续执行

from selenium import webdriver

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait #导入显示等待模块
from selenium.webdriver.support import expected_conditions as EC #导入显示等待条件
import time

driver = webdriver.Chrome()

'''强制等待'''

driver.get('https://www.baidu.com')

print(time.time())
baidu_submit = driver.find_element(*(By.ID,'su'))
time.sleep(5)
print(time.time())
js = 'alert("检测百度一下按钮成功")'
if baidu_submit:
    driver.execute_script(js)

感谢观看,希望对读者有所帮助,有疑问可以评论,不定时回复文章来源地址https://www.toymoban.com/news/detail-525941.html

到了这里,关于selenium中的三种等待方式以及显示等待和隐式等待区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium 三种等待方式详解 (强制等待、隐式等待、显示等待)

    ①在进行WEB自动化工作时,一般要等待某一页面元素加载完成后,才能对该元素执行操作,否则自动化脚本会抛出找不到元素的错误,这样就要求我们在UI自动化测试的有些场景上加上等待时间。 ②等待方式的设置是保证自动化脚本稳定有效运行的一个非常重要的手段。 ①强

    2024年02月03日
    浏览(29)
  • 五、Selenium 三种等待方式:强制等待、隐式等待、显示等待

    名词解释:强制线程休眠一定时间,适合脚本调试时使用。 常用方法: Thread.sleep(long millis); 优点:适合脚本调试时使用; 缺点:不能准确把握需要等待的时间,如果用例中大量使用,会浪费不必要的等待时间,影响用例的执行效率; 操作未完成,等待结束,导致系统报错

    2023年04月08日
    浏览(23)
  • 软件测试/测试开发/全日制/测试管理丨selenium 经典的三种等待方式

    在Selenium中,等待是一种重要的技术,用于处理页面加载和元素查找的时间差异。以下是Selenium中经典的三种等待方式: 隐式等待: 描述:  隐式等待是在查找所有元素时设置的全局等待时间。一旦设置,它将在整个测试执行期间都起作用。 用法:  设置隐式等待的代码通常

    2024年01月17日
    浏览(33)
  • web自动化之基础内容二(全网最详细,selenium获取断言信息,显示等待和隐式等待,xpath高级语法)-第二天

    获取到的断言信息就是实际结果 预期结果使我们确定的,直接写在代码中的 而实际结果是无法确定的,所以需要用一些方法去获取 代码示例 场景:当我们加载页面的时候,一些元素是需要时间的 就有可能发生,代码执行到了,而元素没有被加载出来 此时就会出现找不到元

    2024年01月17日
    浏览(30)
  • 【selenium】三种等待方式

    time模块中的sleep()方法,程序执行到此代码时强制等待一段时间。 time.sleep(time),传入具体的等待时间time 可以控制等待的具体时间,一般在调试代码时使用 无法准确把握需要等待的时间 如果设置时间过短,操作还未完成,等待时间已到,会导致测试用例执行报错,影响测试

    2024年02月03日
    浏览(28)
  • Selenium:三种等待方式

    目录 一、显示等待 二、隐式等待 三、强制等待 UI自动化测试,大多都是通过定位页面元素来模拟实际的生产场景操作。但在编写自动化测试脚本中,经常出现元素定位不到的情况,究其原因,无非两种情况:1、有frame;2、没有设置等待。 因为代码运行速度和浏览器加载渲

    2024年02月03日
    浏览(35)
  • selenium之三种等待方式

    1:强制等待 无条件等待,必须等待设置的时间后,再执行 使用方法:导入time库,time.sleep(sec)      sec表示多少秒,sec设置多少秒页面就会等待多少秒(死等),时间一到,继续执行下面的代码。在调试的时候很有用,但这个方法很容易让线程挂掉,使程序抛异常。 例:使

    2024年02月08日
    浏览(31)
  • python自动化测试selenium核心技术三种等待方式

    UI自动化测试过程中,可能会出现因测试环境不稳定、网络慢等情况,如果不做任何处理的话,会出现无法定位到特定元素而报错,导致自动化测试无法顺利执行。 selenium官网手册:Waits | Selenium slenium自动化测试中,主要涉及三种等待方式:     缺点:即使网络条件较好时

    2024年04月11日
    浏览(39)
  • selenium中三种等待方式:sleep,implicitly_wait,WebDriverWait

    强制等待, sleep,设置等待多长时间,就要等待多长时间。等待完成后,才会继续下一步: 相比较于sleep的强制等待,selenium中还有种等待,可以称之为智能等待:implicitly_wait。所谓智能等待,就是在我设置的等待时间范围内,只要满足了我的条件,就会立即结束等待,继续

    2024年02月16日
    浏览(46)
  • Selenium 3和JUnit 5中的显示等待与隐式等待

    目录 显示等待(Explicit Wait) 什么是显示等待? 如何实现显示等待? 显示等待条件 隐式等待(Implicit Wait) 什么是隐式等待? 如何实现隐式等待? 显示等待和隐式等待的区别 强制等待 在Selenium自动化测试中,等待是一个至关重要的概念。网页加载速度、元素的可见性以及

    2024年02月09日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包