首页 > 其他分享 >selenium的三种等待方式:强制等待、显示等待、隐式等待

selenium的三种等待方式:强制等待、显示等待、隐式等待

时间:2023-08-29 18:13:42浏览次数:32  
标签:webdriver selenium driver import 强制 等待 隐式

1.强制等待

不管页面是否加载成功,强制等待,之后继续操作。

示例:

import time
from selenium import webdriver
driver = webdriver.Chrome() driver.get('https://www.cnblogs.com/') time.sleep(5)  #强制等待5秒后,继续下面操作

...

2.显示等待

设置等待条件,如果条件满足就继续下面的操作;如果不满足则一直等待,直至超出设定时间,抛出异常。

示例:

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
 
driver = webdriver.Chrome()
driver.get('http://www.cnlogs.com')
#wd是webdriver对象,10是最长等待时间,每0.5秒去查询对应的元素。until后面跟的等待具体条件,EC是判断条件,检查元素是否存在于页面的 DOM 上。
WebDriverWait(wd,10,0.5).until(EC.presence_of_element_located((By.ID, "s-top-loginbtn")))
...

3.隐式等待

设置一个最长等待时间,在规定时间内网页加载完成,则执行下一步,否则一直等到时间结束,然后执行下一步。

示例:

from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('http://www.cnlogs.com')
driver.implicitly_wait(10)
...

  

标签:webdriver,selenium,driver,import,强制,等待,隐式
From: https://www.cnblogs.com/liusihao/p/17665556.html

相关文章

  • selenium元素定位方法
     在最新版本的selenium中,已经不支持之前的元素定位方法,如find_element_by_id、find_element_by_xpath等。需将语法更改为:driver.find_element(By.ID,"username")等。特此记录。fromseleniumimportwebdriverfromselenium.webdriver.common.byimportBydriver=webdrive......
  • selenium - 鼠标悬停点击
    前言:常见一些网页都是带有类似下图,当鼠标悬停在隐藏文本内容上时,显示所有内容。例如:我要点击“搜索设置”,先得把鼠标放在‘设置上’ F12-在页面中搜索‘高级搜索’,找到“搜索设置”文本,鼠标放到‘设置’上,display的值变为block;鼠标不放上去之前是none,即不可见元素。  ......
  • python+selenium+pytest-(5)_yaml文件
    导包importyamlelement.yamllogin:safe:'#element'link:'#element'user:['#element','user1','user2','user3']password:['#element','pw']auth_code:'element......
  • 零基础学会用Airtest-Selenium对Firefox进行自动化测试
    1.前言本文将详细介绍如何使用AirtestIDE驱动Firefox测试,以及脱离AirtestIDE怎么驱动Firefox(VScode为例)。看完本文零基础小白也能学会Firefox浏览器自动化测试!!!2.如何使用AirtestIDE驱动Firefox浏览器对于Web自动化测试,目前AirtestIDE支持chrome浏览器和Firefox2种浏览器,关于......
  • 20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于IDEA的预览版IDEA会启用新的UI,这事情之前已经在多位大佬的博客中有提到了,当时我也按照大佬们的文章去递交了试用体验版的申请今天终于收到邮件,说审批通过,并给出......
  • windows 桌面GUI自动化- 17.pywinauto 设置全局等待时间Timings
    前言pywinauto查找窗口和控件时会有超时时间与轮询机制,可以通过timings模块设置全局等待时间。timings模块timings模块有三个模式可以设置timings.Timings.fast()快速模式timings.Timings.defaults()默认模式timings.Timings.slow()慢速模式以下是可以调整的......
  • selenium自动化常用
    selenium使用:1、导入selenium模块2、启动浏览器driver=webdriver.chrome()driver.get('www.baidu.com')3、页面刷新driver.refresh()4、页面后退前进,driver.back(),driver.forward()5、设置窗口大小,driver,set_window_size(540,960)6、将浏览器窗口最大化,driver.maximiz......
  • selenium 等待元素
    /****@paramdriver*@paramby*@paramseconds等待多少秒*@return*/publicWebElementwaitPageOpen(WebDriverdriver,Byby,longseconds){WebDriverWaitwait=newWebDriverWait(driver,seconds);WebElem......
  • Selenium 学习笔记
    Selenium学习笔记Selenium框架是时下在Web领域中被使用得最为广泛的自动化测试工具集之一,它能帮助程序员们面向指定的Web前端应用快速地开发出自动化测试用例,且能实现跨各种平台、各种编程语言地在多种浏览器上开展测试工作。除此之外,由于该框架的学习曲线比较平缓,开发测试......
  • python+selenium+pytest-(3)_基本操作方法
    浏览器操作#浏览器实例化driver=webdriver.Chrome()#窗口最大化driver.maximize_window()#窗口最小化driver.miximize_window()#浏览器长、宽设置,单位:像素driver.set_window_size(100,200)#获取浏览器大小driver.get_window_size()#前进/后退/刷新driver.forwa......