webdriver--设置元素等待
- sleep():脚本执行到某一位置时“睡一会”,再继续执行;参数的单位是s;sleep方法由python的time模块提供,有两种引入和使用方式
import time
time.sleep(5) from time import sleep
sleep(5)在未了解隐式等待这些方式时,sleep方法是我一直用的,有时想看看页面执行到某个位置时的数据显示,或页面跳转后定位新页面的元素等情况,页面执行太快看不到或者定位不到元素,都是通过“睡一会”的方式再继续进行
- implicitly_wait():隐式等待,通过一定的时长等待页面上某元素加载完成,若超出时长还未加载出来则抛出NoSuchElementException异常
- 设置的时间并不是一个固定的等待时间,不影响脚本执行速度;
- 当脚本执行到某个元素定位时,如果可以定位继续执行;
- 定位不到时以轮询方式不断判断元素是否定位到,只要时间内定位到就继续执行,不必再等待剩余时长
- 在超时后,抛出异常
driver.get("http://www.zgckxt.com/THome/PC_SelfLearn/Index?id=1056&type=1")
driver.find_element_by_xpath(".//*[@id='form1']/div/div/div[3]/div/div[1]/div[2]/div[1]/div[2]/a[1]/i").click()
print(driver.current_url) #time.sleep(3)
driver.implicitly_wait(3)
try:
print(driver.find_element_by_css_selector("div.m-battit").text)
except NoSuchElementException as e:
print(e) print(driver.current_url)
- 显式等待,有些复杂用起来,暂不做研究
目前用起来sleep比较顺手,简单方便;隐式等待看起来处理机制更完美,更健全,也更灵活。在以后的尝试过程中两者灵活使用吧
webdriver--设置元素等待的更多相关文章
- selenium webdriver——设置元素等待
如今大多数Web应用程序使用ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难, 如果因为在加载某个元素时延迟而造成ElementNotVisibl ...
- selenium - webdriver - 设置元素等待
隐式等待:implicitly_wait(value), value默认是0 from selenium import webdriverfrom selenium.common.exceptions ...
- Selenium(十一):设置元素等待、上传文件、下载文件
1. 设置元素等待 前面我们接触了几个元素等待方法,sleep.implicitly_wait方法,这一章我们就来整体学一下. 现在大多数Web应用程序使用的都是AJAX技术.当浏览器加载页面时,页面 ...
- Selenium 2自动化测试实战13(设置元素等待)
一.设置元素等待 若在加载某个元素时延迟而造成的ElementNotVisbleException的情况出现,那么就会降低自动化脚本的稳定性,可以通过设置元素等待改善这种问题造成的不稳定. webdr ...
- Python +selenium之设置元素等待
注:本文转载http://www.cnblogs.com/mengyu/p/6972968.html 当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给元素的定位增加了困难.如果因为在加 ...
- python + slenium自动化测试设置元素等待
WebDriver 提供了两种类型的等待:显式等待和隐式等待. 显式等待 显式等待使 WebdDriver 等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常 (TimeoutExcepti ...
- Selenium - 设置元素等待
一.sleep () 休眠方法 --time 固定等待 在开发自动化框架过程中,最忌讳使用Python自带模块的time的sleep方法进行等待,虽然可以自定义等待时间,但当网络条件良好时, 依旧 ...
- Python+Selenium设置元素等待
显式等待 显式等待使 WebdDriver 等待某个条件成立时继续执行,否则在达到最大时长时抛弃超时异常 (TimeoutException). #coding=utf-8 from selenium ...
- Selenium with Python 008 - WebDriver 元素等待
如今大多数Web应用程序使用Ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成的,这给元素的定位增加了困难.如果因为在加载某个元素时延迟而造成ElementNotVisibleE ...
- Appium+python自动化(二十四)- 白素贞千年等一回许仙 - 元素等待(超详解)
简介 许仙小时候最喜欢吃又甜又软的汤圆了,一次一颗汤圆落入西湖,被一条小白蛇衔走了.十几年后,一位身着白衣.有青衣丫鬟相伴的美丽女子与许仙相识了,她叫白娘子.白娘子聪明又善良,两个人很快走到了一起.靠 ...
随机推荐
- Android(java)学习笔记150:开源项目使用之gif view
1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...
- Laravel5 构造器高级查询条件写法
<?php #DB 高级查询 // select * from table where A and B or C $all_data = DB::table("shopnc_goods ...
- HTTP 下载文件工具类
ResponseUtils.java package javax.utils; import java.io.ByteArrayInputStream; import java.io.File; im ...
- P2341 [HAOI2006]受欢迎的牛
P2341 [HAOI2006]受欢迎的牛 塔尔羊标准模板(我才不会告诉你我嘴里含着一个九省联考的出题人) 不会劈配.林克卡特树.制胡窜 我还会叉粪宿主,梳妆素组,西安段素 #include<c ...
- convolution,fft, 加速
零零星星挖坑几个了,都没填土,实在是欠账太多,闲话少说吧,还是多记录总结一下.今天的主题是围绕convolution和加速 记得之前看过lecun他们组的一篇文章,是fft加速convolution的 ...
- 前端css之文本操作及块级元素和行内元素
1.文本操作 1.1文本颜色(color) 颜色指定方式: 十六进制值 - 如: #FF0000 一个RGB值 - 如: RGB(255,0,0) 颜色的名称 - 如: red 1.2水平对齐方式 ...
- socket传送二进制流的一些总结
第一次实质性的接触socket通信方面的工作,所以遇到的问题还真不少,写篇博客记录一下,提升下记忆. 需求是通过私有协议进行二进制数据的传输,必须保证数据包不能被丢失,所以选择tcp的socket进行 ...
- SAP BI 常用TCODE
S.No Tcode Description 1 RSA1 Administrator Work Bench 2 RSA11 Calling up AWB with the IC tree 3 RSA ...
- Struts2基础学习2
Struts2基础学习2 项目结构,测试页面与实体类 <%@ page language="java" contentType="text/html; charse ...
- 【MySQL】使用SQL语句操作MySQL
前言: MySQL在工作中是最常用的数据库,但在使用Django和Flask的时候,都是使用ORM进行操作,除了select语句外,其他的SQL语句操作MySQL的能力没有啥提高,为了解决这个问题, ...