元素定位xpath路径中添加参数的方法
在某次自动化测试中,需要定位下拉列表(非select列表)中不同的元素,我想到了利用参入参数的方式来实现,经过多次尝试,得到如下方法,与大家分享
例如在通过text定位某个元素时,self.find_element(By.XPATH, "//span[contains(text(),'张三')]".click()。这种方式在每次测试时都需要在xpath路径中修改text的值,才能定位到新的元素,不利于测试人员进行测试。
于是得出如下方式:
self.find_element(By.XPATH, "//span[contains(text(),'{}')]".format(customer_id)).click()
通过format方法实现,format基本语法是通过 {} 和 : 来代替以前的 % 。我们通过在xpath路径中将text的值,替换成‘{}’,
然后再使用format方法对其进行传参,这样在每次调用时,只需要传入你需要的参数即可,不用再修xpath元素定位中的改代码												
											元素定位xpath路径中添加参数的方法的更多相关文章
- 元素定位-XPATH定位方法总结
		
1.Xpath定位方法探讨 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小. 1.1.什么 ...
 - python3 selenium webdriver 元素定位xpath定位骚操作
		
源文http://www.cnblogs.com/qingchunjun/p/4208159.html By.xpath() 这个方法是非常强大的元素查找方式,使用这种方法几乎可以定位到页面上的任意元 ...
 - 页面元素定位 XPath 简介
		
页面元素定位 XPath 简介 本文所说的 Xpath 是用于 Selenium 自动化测试所使用到的,是针对XHTML网页而言的一种页面元素的定位表示法. XPath 背景 XPath即为XML路径 ...
 - CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器
		
CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body> ...
 - UI自动化之元素定位(xpath、css)
		
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...
 - RDLC中添加参数,用来显示报表中数据集之外的信息。
		
我添加了两个参数,首先后台: ReportParameter rp = ,,).ToString()); ReportParameter rp1 = new ReportParameter(" ...
 - c#数据绑定(4)——向查询中添加参数
		
本实例主要练习了ADO.Net 连接到外部数据库的基础上,向查询中添加参数.使用的是ACCESS数据库. 在ACCESS数据库中可以用MSSQL的形式定义操作字符串,也可以采用OLEDB的形式. MS ...
 - 在VS中向命令行添加参数的方法
		
在VS中向命令行添加参数的方法 在VS中向命令行添加参数,即向main()函数传递参数的方法: 右键单击要 添加参数的工程-->属性-->配置属性-->调试,在右侧“命令参数”栏输入 ...
 - Extjs中给同一个GridPanel中的事件添加参数的方法
		
Extjs中给同一个GridPanel中的事件添加参数的方法: this.isUse = new Ext.Action({ text:'启用', scope ...
 - 如何根据搜索页面内容得到的结果生成该元素的xpath路径
		
如何根据搜索页面内容得到的结果生成该元素的xpath路径?
 
随机推荐
- uniapp输入空格
			
uniapp 密码框输入空格(去除空格)的时候一直回显不及时 经过一番折腾 终于搞定 1.先赋值: this.pwd = e.detail.value 2. 使用setTimeout(再 ...
 - Robot-Framework  基础操作和常用的语法
			
1.打开浏览器 Open Browser 2.浏览器最大化 Maximize Browser Window 3.关闭浏览器 Test Teardown Close Browser 4.输入文本框 I ...
 - 剑指 Offer II 树
			
我为什么要把代码粘在这里 断更很久了,基于一个错误的观念:我想看题,我到leetcode官网看不就行了吗? 但是若干年后我可能还会到我的博客园看看呀,我有可能上刷题网站吗?而且心得不好写到注释上. 记 ...
 - pytest设计项目结构
			
api目录封装所有的接口 testcases目录写所有的测试用例.conftest全局登录前置操作 data目录测试数据 common或者utils目录.存放公共模块比如读取yml文件.连接数据库.所 ...
 - cAPP.h头文件
			
前言 最近几天闲的没事,写了一个可以用来写简单的app程序的头文件,分享给大家! 头文库 #ifndef CAPP_H #define CAPP_H #include<bits/stdc++.h ...
 - 图片上传造成VS关闭
			
原来的地方:https://q.cnblogs.com/q/129719/ VS2019开启调试,测试图片上传的时候,一点到图片上传,直接导致VS调试崩掉,返回 程序"[14764] iis ...
 - shopt 内置命令启用shell选项 (extglob)
			
使用shopt 内置命令启用shell选项 (extglob) 则会识别几个扩展模式匹配运算符 模式列表是由 | 分割 查看shell选项 extglob shopt |grep extglob 启动 ...
 - Java设计模式之抽象工厂(02)
			
对工厂方法进行抽象.当增加新的产品时,不用改动工厂类.而是集成已有的工厂接口或者抽象工厂,创建新的工厂.这就是对扩展开发,对修改封闭. 1 package Pak; 2 3 public abstra ...
 - 你对USB了解吗?--USB 协议分析之 HID 设备
			
1. 简述 USB HID类是USB设备的一个标准设备类,包括的设备非常多.HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标.USB键盘.USB游戏操纵杆等.但HI ...
 - react backend uploadfile
			
public List<string> WriteFile(List<UploadDTO> uploads) { List<string> fileNames = ...