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定位的更多相关文章

  1. selenium之xpath定位和input文本

    selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...

  2. 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇

    在利用XSL进行转换的过程中,匹配的概念非常重要.在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select ...

  3. selenium:Xpath定位详解

    xpath定位在业界被戏称为元素定位的"屠龙宝刀",宝刀在手,武林我有.现在我们就来详解xpath定位方法. 一.xpath通过元素属性定位 xpath可以通过元素的属性来定位,如 ...

  4. 二:unittest框架配合selenium之xpath定位

    刚开始学习selenium自动化测试时,犯了一个不该犯的错误,偷懒,使用火狐浏览器中的扩展FIREBUG,FIREPATH来辅助定位. 虽然用的定位方法大多数是使用XPATH方法,但是是工具定位出来的 ...

  5. java selenium (六) XPath 定位

    xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 阅读目录 什么是xpath xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面, ...

  6. selenium 使用xpath定位不到

    <button id="" class="btn btn-some" type="submit"> <i class=&q ...

  7. 自动化测试-4.selenium的xpath定位

    前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. ...

  8. python selenium模块 xpath定位

    ''' 附w3xpath语法地址 https://www.w3school.com.cn/xpath/xpath_syntax.asp 总结: 返回匹配到所有符合条件的第一个节点,对象是 <cl ...

  9. selenium使用Xpath定位之完整篇

    其中有一片文章提到了xpath元素定位,但是该文章中有些并不能适应一些特殊与个性化的场景.在文本中提供xpath元素的定位终极篇,你一定能在这里找到你需要的解决办法. 第一种方法: 通过绝对路径做定位 ...

  10. selenium webdriver——XPath 定位

    baidu.html代码如下 ....<form id="form" class="fm" action="/s" name=&quo ...

随机推荐

  1. C#博客记录一

    前言:C#语言是由微软公司开发面向大众的一款软件开发语言. 1.c语音的输出语句为Console.Write();和Console.WriteLine(); 两者区别为后者为换行输出,前者不换行. 2 ...

  2. ExcelHelper office 导出

    要是服务器上没有装着excel 可以用c#导出excel表吗 2009-08-10 17:36 风之成 | 分类:办公软件 | 浏览2279次 租用的空间 服务器上没有装着office excel,可 ...

  3. Mysql自动更新字段时间

    Mysql中更新某天数据可设置该条数据中的某个字段自动更新 ALTER TABLE `表名` MODIFY `字段名` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON U ...

  4. android JNI学习之一

    执行System.loadLibrary()函数时,VM会反向调用*.so里的JNI_OnLoad()函数.用途有二:1. VM询问此*.so使用的JNI版本编号.2. VM要求*.so做一些初期设定 ...

  5. Sql Server 锁 排它锁 更新锁 共享锁

    引用别人的.有时间整体整理下. 引用地址:http://www.cnblogs.com/wenjl520/archive/2012/08/24/2654412.html 锁的概述 一. 为什么要引入锁 ...

  6. select支持多查询,获取分页count

    在我们使用mybatis 时,当我们根据分页去查询数据集时,需要传入的参数有page(页码)和size(每页的条数),而我们期望获取到的数据有,小于或等于size的list数据集,同时我们还需要得到一 ...

  7. 图片的URL上传至阿里云OSS操作(微信小程序二维码返回的二进制上传到OSS)

    当我们从网络中获取一个URL的图片我们要存储到本地或者是私有的云时,我们可以这样操作  把url中的图片文件下载到本地(或者上传到私有云中)  public String uploadUrlToOss ...

  8. jQuery三——筛选方法、事件

    一.jquery常用筛选方法 以下为jquery的常用筛选方法: 代码示例如下: <!DOCTYPE html> <html lang="en"> < ...

  9. Visual Studio 快捷键汇总

    常见方法: 强迫智能感知:Ctrl+J.智能感知是Visual Studio最大的亮点之一,选择Visual Studio恐怕不会没有这个原因.  撤销:Ctrl+Z.除非你是天才,那么这个快捷键也是 ...

  10. HttpClient拉取连载小说

    上午刚入手的小说,下午心血来潮想从网站上拉取下来做成电子书,呵呵,瞎折腾-说做就做- [抓包] 这一步比什么都重要,如果找不到获取真正资源的那个请求,就什么都不用做了- 先是打算用迅雷把所有页面都下载 ...