python selenium翻页_Selenium翻页的实现方法实例
在实际测试项目中,会出现新增数据记录不显示在第一页,而是显示最后一页,对于这种情况,那我们要根据每页显示数据数来进行翻页,保证代码能够准确拿到数据文本来做结果比对。
第一步:在基础类BaseTest中,写一个“翻页”方法getPageCountFlip()。
代码如下:
//若按主键排序,当数据大于 10条记录,即要翻页到尾页才能做后续操作,比如:删除
public void getPageCountFlip(WebDriver driver){
WebElement tableInfoElement = driver.findElement(By.cssSelector("#data_table_info .infos"));
String pageText = tableInfoElement.getText();
System.out.println("pageText=====" + pageText);
int index1 = pageText.indexOf("共");
int index2 = pageText.indexOf("条");
String pageStr = pageText.substring(index1 + 1, index2);
if(Integer.valueOf(pageStr.trim())>10){
WebElement lastpage =driver.findElement(By.cssSelector("#data_table_paginate .pagination .last a"));
lastpage.click();
}
}
第二步:在测试case中,继承BaseTest基础类(extends BaseTest)。在要截图的地方调用“翻页”方法getPageCountFlip()。
代码如下:
//翻页
this.getPageCountFlip(driver);
实例:比如添加角色后,新增的记录显示在最后一页,要比对新增结果是否正确,则要先检查数据列表的数据是否大于10条记录,如果大于10条记录,则翻页到最后一页,再去比对新增结果是否正确。
注意:在翻页前,最好等待时间3秒,保证能够拿到正确的记录数。
代码如下:
@Test(description="添加角色")
public void RoleCreateTest() {
//登录
YiiLogin yiiLogin = new YiiLogin();
yiiLogin.login(driver);
//进入角色管理
YiiOpenRole openrole=new YiiOpenRole();
openrole.openrole(driver);
//点击添加角色
YiiRoleCreate rolecreate=new YiiRoleCreate();
String code = rolecreate.rolecreate(driver);
//刷新页面
// WebDriverWait menuwait = new WebDriverWait(driver,40);
// WebElement menuopenNode = menuwait.until(new ExpectedCondition(){
// @Override
// public WebElement apply(WebDriver d) {
// WebElement menulastProject = driver.findElement(By.cssSelector("#admin-role-search-form"));
// return menulastProject;
// }});
//刷新页面等待时间5秒
try{
Thread.sleep(5000);
}
catch(Exception e){
e.printStackTrace();
}
//翻页
getPageCountFlip(driver);
//刷新页面,比对结果
witeForPageRefeshByText(driver, "#data_table > tbody", code,true);
//添加角色完成后截图
this.screenshot("RoleCreate添加成功.jpg",driver);
}
python selenium翻页_Selenium翻页的实现方法实例相关推荐
- 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法
by Joyz 通过乔伊斯 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法 (A recipe for website automated ...
- python selenium 处理弹窗_Selenium自动化发布话题,以及获取window.showModalDialog()弹窗对象(Python实现)...
折腾了一下自动化测试,找到了阿里开源的一个 uirecorder ,可以自动录制测试过程,但自定义逻辑有些麻烦 然后发现这货是基于 selenium 实现的,于是就开始折腾起了 selenium,弄出 ...
- Python+selenium 自动化-mac下安装配置chrome驱动方法
我的 Python 版本有两个,先通过 which 看一下对应版本的位置. 然后找到 python 安装目录里的 bin 文件夹,把对应的驱动放里面就好了. 如果不知道怎么匹配对应 chrome 版本 ...
- python selenium UI自动化解决验证码的4种方法
测试环境 windows7+ firefox50+ geckodriver # firefox浏览器驱动 python3 selenium3 selenium UI自动化解决验证码的4种方法:去掉验证 ...
- Python+selenium 实现自动上传并发布抖音短视频实例演示
Python+Selenium自动化 ---- 抖音短视频发布 1.素材准备 素材展示 2.实现过程 调用已启用的浏览器 上传视频和图片 完整源码展示 素材展示 实现过程 一个为视频 ...
- python json转换字典_Python json转字典字符方法实例解析
josn基本操作 1.导入import json 2.字典转json:json.dumps(dict,ensure_ascii=False),加,ensure_ascii=False转换之后无中文乱码 ...
- Python+selenium 抓取美团单页接口数据里的用户评论和用户名称以及打分数据
一.原理 selenium的原理很简单,就是模拟人对浏览器的操作,人是怎么操作的,在编写代码时就以这个为逻辑来进行编写.编写起来很是简单,并且也能够很容易纠错. 缺点是,速度比较慢,抓取起来耗时,并且 ...
- python selenium 关闭窗口_Selenium快速上手实战 | 上篇
前言 Selenium是一个用于Web应用程序的自动化测试工具.它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作. 在AirtestIDE中,开发者也给我们提供了使用Selenium的窗口.不 ...
- python selenium模拟键盘_SELENIUM自动化模拟键盘快捷键操作实现解析
这篇文章主要介绍了SELENIUM自动化模拟键盘快捷键操作实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 平常我们会用到很多快捷键,那么se ...
最新文章
- 面试 4 个月,最终入职大厂经验分享!
- caffe-builder相关资料
- 华为鸿蒙系统如何申请尝鲜,鸿蒙OS 2.0公测尝鲜来咯
- 如何查看linux中文件打开情况
- 通过configSource提高web.config配置灵活性
- java 浏览器 爬虫_java 网络编程-爬虫+模拟浏览器
- lte核心网由哪些设备组成_电气设备安装工程由哪些部分组成?
- C语言OJ项目参考(2963) 判断三角形
- elasticsearch 基础 —— Jion父子关系
- linux安装网卡驱动make报错,linux 安装网卡驱动详解
- javafx 教程_新的JMetro JavaFX 11兼容版本
- EFM32片内外设--VCMP 基本操作
- 中国移动家庭智能网关超级账号密码(广西桂林)
- 【java毕业设计】基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码)——酒水销售系统
- react+antd的后台管理项目模板
- 100以内的质数(素数)
- isp调试linux程序,相机isp调试 - Linux - Firefly开源社区相机isp调试
- SAP中输出采购订单PO中基于收货GR的发票校验IV清单
- rust卡领地柜权限_rust一个领地柜有多大范围 | 手游网游页游攻略大全
- 安装2021b报错-找不到 ‘D:\MATLAB2021b\bin\win64\hg.dll‘ 所需的资源文件 ‘toolbox/matlab/graphics/hg/hgrc.m‘
热门文章
- c语言中三种常用的循环控制结构是,三C语言的基本控制结构.ppt
- z-blog php 静态设置,Nginx的Z-Blog的伪静态配置方法
- 基于JAVA+SpringMVC+Mybatis+MYSQL的房屋租赁系统
- 基于JAVA+Servlet+JSP+MYSQL的旅游酒店机票预订管理系统
- linux终端安装mingw编译器_C/C++编译器MinGW的安装与配置
- 标自然段的序号格式_你可能还不会基本的公文格式
- 剑指offer:序列化二叉(前序遍历+层次)
- 4.namespace
- 基于JAVA的IKAnalyzer中文分词运用
- 实验吧web-中-忘记密码了