selenium webdriver 的三种等待方式
1、显式等待
一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
driver = webdriver.Firefox()
driver.get(“http://somedomain/url_that_delays_loading“)
try:
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, “myDynamicElement”)))
finally:
driver.quit()
2、隐式等待,相当于设置全局的等待,在定位元素时,对所有元素设置超时时间。
隐式等待使得WebDriver在查找一个Element或者Element数组时,每隔一段特定的时间就会轮询一次DOM,如果Element或数组没有马上被发现的话。
默认设置是0。
一旦设置,这个隐式等待会在WebDriver对象实例的整个生命周期起作用。
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(10) # seconds
driver.get(http://www.xxx.com)
myDynamicElement = driver.find_element_by_id(“ElementID”)
3、强制等待
import time
time.sleep(10)
最新文章
- Linux I/O多路复用
- jQuery实例——jQuery实现联动下拉列表查询框--转http://www.cnblogs.com/picaso/archive/2012/04/08/2437442.html#undefined
- memcpy和memmove
- 【PHP面向对象(OOP)编程入门教程】18.__call()处理调用错误
- 学了C语言,如何利用cURL写一个程序验证某个网址的有效性?
- Redis初步
- ExtJS 4 类系统
- SQL Server 中@@IDENTITY的用法
- 基于visual Studio2013解决面试题之0307最后谁剩下
- Arduino 各种模块篇 震动模块 vibrator
- NodeJS在线聊天室(NodeJS &; SocketIO &; Express &; EJS &; MongoDB &; Gulp)
- java中split(regex)使用中要注意的问题:正则表达式
- 第二周 IP通信基础回顾
- hadoop分布式搭建
- MVC从Controller到View的呈现
- 为什么redis是单线程的?速度还这么快
- semver 版本号命名法
- 大型运输行业实战_day13_1_定时任务spring-quartz
- 【Python】使用torrentParser1.02对多文件torrent的分析结果
- 关于 SqlParameter 必须知道的!
热门文章
- [jzyzoj2021]lca模板题
- java--由一道选择题研究数值越界
- Codeforces Beta Round #6 (Div. 2 Only) C. Alice, Bob and Chocolate 水题
- ROS知识(5)----消息与服务的示例
- LT1072 -- Wide-range voltage regulator automatically selects operating mode
- 详解Java中的clone方法 -- 原型模式 及源码
- plsql只有注释显示问号,其余中文可以正常显示
- cas 获取session中的用户信息
- 深拷贝(deep clone)与浅拷贝(shallow clone)
- [Todo] Redis相关学习