显示等待WebDriverWait+EC
参考:https://www.cnblogs.com/yoyoketang/p/6538505.html
百度搜索关键字,等待搜索结果页面显示完成后,验证搜索结果的第一条记录
通过WebDriverWait定位一组元素
如果是定位一组元素,用到presence_of_all_elements_located,定位一个元素presence_of_element_located
presence_of_all_elements_located和presence_of_element_located区别:
presence_of_element_located : 判断某个元素是否被加到了dom树里,并不代表 presence_of_all_elements_located : 判断是否至少有1个元素存在于dom树中。举个例子,如果页面上有n个元素的class都是'column-md-3',那么只要有1个元素存在,这个方法就返回True
代码如下:
#coding:utf-8
'''
这里写了一个百度搜索页的pageobject
'''
from PageElement.readYaml import parseyaml
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC class Baidu_page():
'''
百度搜索page类
''' getElement = parseyaml() search_box = getElement["baiduPage"]["search_box"]["value"]
baidu_button = getElement["baiduPage"]["baidu_button"]["value"]
search_result = getElement["baiduPage"]["search_result"]["value"] def __init__(self,driver):
self.driver = driver def input_search(self,keyword,type_a="css"):
'''输入搜索关键词'''
self.driver.find_element(type_a,self.search_box).send_keys(keyword) def click_baidubutton(self,type_a="css"):
'''点击百度一下按钮'''
self.driver.find_element(type_a, self.baidu_button).click() def verification_result(self,type_a="css"):
'''用例结果验证'''
results = WebDriverWait(self.driver,10).until(EC.presence_of_all_elements_located((type_a,self.search_result)))
print(results) nanjing_baike = results[0].text
return nanjing_baike
显示等待WebDriverWait+EC的更多相关文章
- selenium中的三种等待方式(显示等待WebDriverWait()、隐式等待implicitly()、强制等待sleep())---基于python
我们在实际使用selenium或者appium时,等待下个等待定位的元素出现,特别是web端加载的过程,都需要用到等待,而等待方式的设置是保证脚本稳定有效运行的一个非常重要的手段,在selenium中 ...
- python selenium2 中的显示等待WebDriverWait与条件判断expected_conditions举例
#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium. ...
- 显示等待WebDriverWait
显示等待:WebDriverWait 等待页面加载完成,找到某个条件发生后再继续执行后续代码,如果超过设置时间检测不到则抛出异常 WebDriverWait(driver, timeout, poll ...
- 【转】python selenium2 中的显示等待WebDriverWait与条件判断expected_conditions举例
#coding=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By from seleni ...
- 显示等待WebDriverWait+lambda
代码,关键代码标红 参考文章:https://www.cnblogs.com/yoyoketang/p/6517477.html #coding:utf-8 ''' 这里写了一个百度搜索页的pageo ...
- python+selenium显示等待、隐式等待和强制等待的区别
在实际使用selenium或者appium时,等待下个等待定位的元素出现,特别是web端加载的过程,都需要用到等待,而等待方式的设置是保证脚本稳定有效运行的一个非常重要的手段,在selenium中(a ...
- Selenium 定位元素原理,基本API,显示等待,隐式等待,重试机制等等
Selenium 如何定位动态元素: 测试的时候会遇到元素每次变动的情况,例如: <div id="btn-attention_2030295">...</di ...
- selenium等待方式之显示等待
有时候,页面元素并未及时加载出来导致后面的步骤无法执行 这里就需要在加载前添加等待时间,让目标元素有足够的时间加载出来 第一种方法:使用time.sleep() 这种方法过于强制,无论元素是否加载出来 ...
- 9.0 toast定位+WebDriverWait显示等待
Toast 判断-----基本操作问题 首先基本操作,进入安卓市场的账号密码页面--- from appium import webdriver from selenium.webdriver.su ...
随机推荐
- PowerShell 远程执行命令
PowerShell 远程执行命令 最近在做一些自动化的测试工作,在代码实现的过程中需要远程启动/关闭一些服务或者测试机. 我首先想到的是建立一个website,通过网站对一些服务进行操作,但是这样感 ...
- JVM(Java虚拟机)详解(JDK7)
1.Java内存区域 运行时数据区域: Java 虚拟机在执行Java程序时,定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁.另外一些则是与线程 ...
- 数据溢出-varchar类型
数据溢出一.varchar(65535)1.在charset=latin1,因为有额外的开销,实际只能存65532 CREATE table demo( a ) )charset=latin1 eng ...
- kvm 修改虚拟机密码
kvm 修改虚拟机密码 现在虚拟机kvm的使用很流行,为了更多的差异化环境,每个人可能拥有很多的kvm,这数量一多难免会有image的密码会忘记,相信很多人会采用kernel single user ...
- jar包/class文件如何快速反编译成java文件
有时编写的java代码打包为可执行jar包后需要查看工程结构是否是且只有我们需要的包,故需要查看jar包层级. 1.windows系统可以直接在网上下载jd-gui.exe包,然后傻瓜安装: 2.Ma ...
- Mybatis-技术专区-Mapper接口以及Example的实例函数及详解
一.mapper接口中的方法解析 mapper接口中的函数及方法 int countByExample(UserExample example) thorws SQLException 按条件 ...
- C# 对象转JSON字符串
对象转JSON字符串 /// <summary> /// 对象转Json字符串 /// </summary> /// <param name="obj" ...
- OS库的使用
Python中有关OS库的使用 路径操作 os.path.abspath(path) 返回path在当前系统中的绝对路径 os.path.normpath(path) 归一化path的表示形式,统一用 ...
- linux性能分析工具Cpu
- 20-基于 DSP TMS320C6455的6U CPCI高速信号处理板卡
基于 DSP TMS320C6455的6U CPCI高速信号处理板卡 1. 板卡概述 基于 DSP TMS320C6455的CPCI高速信号处理板卡是新一代高速DSP处理平台,广泛用于DSP性能验证, ...