selenium之Xpath定位
1. 绝对定位:
driver.find_element_by_xpath("/html/body/div[x]/form/input") x 代表第x个 div标签,注意,索引从1开始而不是0
2.相对路径:
driver.find_element_by_xpath("//input[x]") 定位第x个input标签,[x]可以省略,默认为第一个
3.标签属性定位:
driver.find_element_by_xpath("//a[@href='/industryMall/hall/industryIndex.ht']")
driver.find_element_by_xpath("//input[@value='确定']")
driver.find_element_by_xpath("//div[@class = 'submit']/input")
driver.find_element_by_xpath("//input[@type='name' and @name='kw1']")
driver.find_element_by_xpath("//标签[contains(text(),'文本值')]")
driver.find_element_by_xpath("//input[contains(text(),'型号')]")
driver.find_element_by_xpath(“//a[contains(@href, ‘logout’)]”)
a.starts-with 例子: input[starts-with(@id,'ctrl')] 解析:匹配以ctrl开始的属性值
b.ends-with 例子:input[ends-with(@id,'_userName')] 解析:匹配以userName结尾的属性值 好像不行,经常报错,不推荐
c.contains() 例子:Input[contains(@id,'userName')] 解析:匹配含有userName属性值
driver.find_element_by_xpath("//input[@id='kw1']//input[start-with(@id,'nice']/div[1]/form[3]) 如果上面的单一方法不能完成定位,也可以采取组合式定位
4.Xpath轴方式定位元素
1、child 选取当前节点的所有子元素
driver.find_element_by_xpath("//div[@id='B']/child::div")
2、parent 选取当前节点的父节点
driver.find_element_by_xpath("//div[@id='C']/parent::*/parent::div")
driver.find_element_by_xpath("//div[@id='C']/..") 后面两点也代表上一级的父节点
3、descendant选取当前节点的所有后代元素(子、孙等)
"//form[@id='form']/descendant::input[@id='su']"
4、ancestor 选取当前节点的所有先辈(父、祖父等)
//*[@id='%s']/ancestor::td/preceding-sibling::td[1]
5、preceding-sibling选取当前节点之前的所有同级节点
driver.find_element_by_xpath("//div[@id='D']/preceding-sibling::div[1]").text
6、following-sibling选取当前节点之后的所有同级节点
driver.find_element_by_xpath("//td[contains(text(),’17051915200001’)]/following-sibling::td[8]/a[@class='link']")
7、preceding 选取文档中当前节点的开始标签之前的所有节点
//p[text()='出售方信息']/preceding::div[contains(text(),'拟定网签价')]
8、following 选取文档中当前节点的结束标签之后的所有节点
//td[@width='50%']/following::div[contains(text(),'行政区域')]
selenium之Xpath定位的更多相关文章
- selenium之xpath定位和input文本
selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...
- 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇
在利用XSL进行转换的过程中,匹配的概念非常重要.在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select ...
- selenium:Xpath定位详解
xpath定位在业界被戏称为元素定位的"屠龙宝刀",宝刀在手,武林我有.现在我们就来详解xpath定位方法. 一.xpath通过元素属性定位 xpath可以通过元素的属性来定位,如 ...
- 二:unittest框架配合selenium之xpath定位
刚开始学习selenium自动化测试时,犯了一个不该犯的错误,偷懒,使用火狐浏览器中的扩展FIREBUG,FIREPATH来辅助定位. 虽然用的定位方法大多数是使用XPATH方法,但是是工具定位出来的 ...
- java selenium (六) XPath 定位
xpath 的定位方法, 非常强大. 使用这种方法几乎可以定位到页面上的任意元素. 阅读目录 什么是xpath xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面, ...
- selenium 使用xpath定位不到
<button id="" class="btn btn-some" type="submit"> <i class=&q ...
- 自动化测试-4.selenium的xpath定位
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. ...
- python selenium模块 xpath定位
''' 附w3xpath语法地址 https://www.w3school.com.cn/xpath/xpath_syntax.asp 总结: 返回匹配到所有符合条件的第一个节点,对象是 <cl ...
- selenium使用Xpath定位之完整篇
其中有一片文章提到了xpath元素定位,但是该文章中有些并不能适应一些特殊与个性化的场景.在文本中提供xpath元素的定位终极篇,你一定能在这里找到你需要的解决办法. 第一种方法: 通过绝对路径做定位 ...
- selenium webdriver——XPath 定位
baidu.html代码如下 ....<form id="form" class="fm" action="/s" name=&quo ...
随机推荐
- hashlib库的使用
这个模块实现了许多不同的安全哈希和消息摘要算法的通用接口.包括FIPS安全哈希算法SHA1.SHA224.SHA256.SHA384和SHA512(在FIPS 180-2中定义)以及RSA的MD5算法 ...
- MyEclipse 中tomcat 调试时进入未打断点的代码
在preferences里面取消挂起未捕获异常
- 集合之Iterator迭代器
Iterator迭代器概述: java中提供了很多个集合,它们在存储元素时,采用的存储方式不同.我们要取出这些集合中的元素,可通过一种通用的获取方式来完成. Collection集合元素的通用获取 ...
- 01_Redis基础
[Redis定义(参考了百度百科)] Redis是一个key-value存储系统.与Memchached类似,Redis支持的value类型更多,包括String.list.set.zset(有序集合 ...
- Shader之ShaderUI使用方法
shader中的宏定义在material中Inspector中打开 Shader "Custom/Redify" { Properties{ _MainTex("Base ...
- Selenium2学习(十)-- iframe定位
前言 有很多小伙伴在拿163作为登录案例的时候,发现不管怎么定位都无法定位到,到底是什么鬼呢,本篇详细介绍iframe相关的切换 以http://mail.163.com/登录页面10为案例,详细介绍 ...
- 关于git stash的应用总结
Step1 新增 git stash save -a "message" // 对于在项目里加入了代码新文件的开发来说,-a选项才会将新加入的代码文件同时放入暂存区 类似于 git ...
- 源码安装mysql5.6.37
MYSQL 源码安装: 修改参数文件:vi /etc/security/limits.confmysql soft nproc 2047mysql hard nproc 16384mysql soft ...
- 安卓Socket开发注意事项
如果要在安卓app里用到Socket通信,要满足: 1.在写代码的activity里import进Socket相关的包,这个很easy,如果你不知道要import什么包,也可以先不指定,可 ...
- MySQL联合索引最左匹配范例
MySQL联合索引最左匹配范例 参考文章:http://blog.jobbole.com/24006/ 创建示例表. 示例表来自MySQL官方文档: https://dev.mysql.com/doc ...