XPath定位时,使用文本的方法小技巧。
1)//td[text()= "{0}" ] #这是一种非常常用的定位方法,具体例子使用如下:
__keyboard = '//td[text()= "{0}" ]'
__keyboard_dq = "//td[text()= '{0}' ]"
def click_keyboard(self, keyboard):
"""click single button on Virtual Keyboard"""
btn = ''
if keyboard == '"':
btn = self.__keyboard_dq.format(keyboard)
else:
btn = self.__keyboard.format(keyboard)
key = self.get_element(*(By.XPATH,btn))
key.click()
2)如果一个文本值不能确定,可以用两个条件限制选取:
__numpad_kb = '//td[contains(text(),"{0}") and contains(@id,"numKeys")]'
def click_numpad_kb(self, keyboard):
"""click single button on Numpad Keyboard"""
btn = self.__numpad_kb.format(keyboard)
key = self.get_element(*(By.XPATH,btn))
key.click()
XPath定位时,使用文本的方法小技巧。的更多相关文章
- selenium之xpath定位和input文本
selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...
- Oracle修改字段类型方法小技巧
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar ...
- iOS开发-drawRect方法小技巧(超短)
获取画布: CGContextRef context = UIGraphicsGetCurrentContext(); 设置颜色的三种方法: [[UIColor blueColor] setStrok ...
- selenium自动化之xpath定位*必会技能*
相信写过ui自动化,对xpath定位感觉会特别亲戚,那么下面给大家分享些我们常常在写脚本时易忽略的一些小细节和技巧.首先使用xpath定位时切忌 不要使用带有空格的属性 不要使用自动生成的id.cla ...
- selenium 使用xpath定位不到
<button id="" class="btn btn-some" type="submit"> <i class=&q ...
- 或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧
一.前言 在目前的软件开发的潮流中,不管是前后端分离还是服务化改造,后端更多的是通过构建 API 接口服务从而为 web.app.desktop 等各种客户端提供业务支持,如何构建一个符合规范.容易理 ...
- 元素定位-XPATH定位方法总结
1.Xpath定位方法探讨 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小. 1.1.什么 ...
- Selenium 获取文本信息方法+select(定位)
1.通过先定位到具体的元素然后通过text方法获取文本信息,如获取控件名称等 driver.find_element_by_xpath("//div[/h1").text 2.直接 ...
- UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)
Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...
随机推荐
- 使用axios获取本地json数据
1. 通过搜索 网上说不放在static文件夹中会报错 但是一直报错 放到根目录下的时候不报错了 2. 在main.js中引入axios import axios from 'axios' 3. ...
- vue 打印功能
printContent (e) { let subOutputRankPrint = document.getElementById('subOutputRank-print') console.l ...
- 微信小程序页面跳转,带参数跳转
1. wx.navigateTo (保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面.) 路径:只能跳转非tabbar路径 参数: 'path?key=v ...
- WEB学习笔记8-添加javascript禁用的提示
最常用的方式是使用<noscript>标签,此标签就是当javascript被禁用或者不被支持的时候提供一种代替方式,即<noscript>标签的内容会在此时被浏览器解析,作为 ...
- idea 从git上checkout项目下来,project没有文件目录结构
1.去到 查看sdk有没有配置 查看该部分是否是空的,如果没有显示项目,添加导入项目
- windows下python双系统安装
1.首先安装Python2,确认好Python2的安装位置.接着安装Python3,并确定Python3的安装位置. 2.确认系统变量PATH中有python2和python3各自两个的路径,如: D ...
- VIM快速复制多行
在vim中快速复制粘贴多行 用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地 ...
- kettle并行运行时出现「Unknown error in KarafBlueprintWatcher」
背景:在使用kettle 6进行大量数据并行抽取时,偶尔会出现「Unknown error in KarafBlueprintWatcher」的错误,详细的报错信息可以查看下面的代码块. ERROR: ...
- 商品规格,自定义SKU类型
<html> <head> <script type="text/javascript" src="http://xoxco.com/exa ...
- @NotNull和@NotEmpty和@NotBlank 区别
1.@NotNull:不能为null,但可以为empty:用在基本类型上. 2.@NotEmpty:不能为null,而且长度必须大于0:用在集合类上面. 3.@NotBlank:只能作用在String ...