Xpath 小结

1. 如何通过xpath寻找不包含某个属性的节点

  通过not关键字:比如寻找不包含style属性的节点: driver.findElement(By.xpath("./input[not(@style)]"));

2. 通过xpath搜特定节点之下的其他节点(xpath 的// 和.//)

  

  如图需要搜索第二个<td>标签之下的table内容:

    Webment cell=driver.findElement(By.xpath("./td[@class=‘inv-prod-sell-through‘]"));

    Webment  target = cell.findElement(By.xpath(".//table")); //此处一定要在双斜杠之前加一个点 : .//  代表只会在第二个<td>之下搜索table

    //如果不加这个点,写成 //, 则搜索范围会扩大,将第一个table也会搜索出来。

3. xpath 通过子节点得到父节点

  在xpath中1个点代表当前节点,2个点代表父节点

  

  通过<input>寻找<td>: WebElement td = driver.findElement(By.xpath("./input[@class=‘checkbox-input‘]/.."));

  通过<input>寻找<tr> : WebElement tr = driver.findElement(By.xpath("./input[@class=‘checkbox-input‘]/../.."));

4. 通过页面上出现的字符搜索对象

  driver.findElement(By.xpath("//*[contains(.,‘text‘)]"));  //text 就是需要搜索的字符

5. 定位伪元素 ::before

  

  driver.findElement(By.cssSelector("div#tsidButton>span")).click();

6. class 中有空格

  代表多个class, 使用css定位可以用多个点将class隔开: driver.findElement(By.cssSelector("button.x-bth.module-icon"));

时间: 2024-11-05 11:16:25

Xpath 小结的相关文章

XML相关的安全漏洞-XXE,XPATH小结

0x00前言: 本文主要小结以下php下的xpath查询xml结构的漏洞利用和XXE漏洞利用 xml是可扩展标记语言,它被设计出来是为了存储传输数据的. 它的结构是树形结构,并且标签要成对出现比如下面这个例子 <?xml version="1.0" encoding="utf-8"?> <root> <name>sijidou</name> <from> <country>China</c

xPath小结

有了XML数据的描述标准,人们自然就会想到应该有一种查询语言可以在XML中查找任意节点的数据,就像SQL语句可以在关系性数据库中执行查询操作一样,于是XQUERY和XPATH顺应潮流,应运而生.由于XQUERY较为复杂,使用不甚方便,XPATH渐渐成为主流.xPath 是一个 W3C 标准, 它 是 XSLT 中的主要元素,包含一个标准函数库,使用路径表达式在 XML 文档中进行导航. XPATH遵循文档对象模型(DOM)的路径格式,由于每个XML文档都可以看成是一棵拥有许多结点的树,每个结点可

xpath定位方法小结(转载)

1.实例化一个浏览器WebDriver driver = new FirefoxDriver(); 2.driver.get() get传参数到浏览器中 3.常用定位方法webelement XX=driver.findElement(by.XX) 3.1 by.id("value");3.2 by.ame("value");3.3 by.xpath("/html/body/XX/div[1]/a") 表示第一个div值为a的值      by.

php操作xml小结

<?php #php操作xml,SimpleXMLElement类小结 header('Content-type:text/html;charset=utf-8;'); //1.构造函数 /* $xmlstring=<<<XML <?xml version="1.0" encoding="utf-8"?> <note  xmlns:b="http://www.w3school.com.cn/example/&quo

一个WPF小项目小结

一:缘起 在10月中旬的时候在学校BBS上看到有人有做PC桌面客户端的需求,做的是能耗的计算和评估,要算能耗,就有很多环节,最后对这些环节数据进行一些简单计算.我想要是做的话就用比较熟的wpf,就去聊了下,对方给了1张比较复杂的Excel表格(其实对方的需求并不是很清楚,最后大概10来张EXcel表格),说是要做成软件呈现的形式,也没要求数据库,反正只要有功能,界面他们也没概念,给了个98年的老软件作为参考,最后EXcel表格弄懂结构后不复杂,计算都是加减乘除.我就答应了,这个软件算起来大概花了

C#编程(六十八)----------LINQ小结

LINQ小结 一.LINQ是什么 LINQ也就是Language Interrated Query的缩写,怎么一个缩写法我也不明白,即语言集成查询,是微软在.NET3.5中提出的一项新技术,LINQ主要包含四个组件,下面看一下LINQ的一个架构图: 简单的介绍一些四个组件: 1.Linq to SQL 组件----可以查询基于关于数据的数据(微软本身只是实现了对SQL Server的查询,可以对数据库中的数据进行查询,修改,插入删除,排序等操作) 2.LINQ to Dataset组件----可

自动化测试Selenium Webdriver (JAVA)学习小结

自动化测试--Selenium学习小结 一.自动化测试的概念及意义: 1.什么是自动化测试: 一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件. 2.意义: 让测试更有效率,利用更多的空余时间,减少人力资源. 二.selenium工具 我用的是java语言,所以接下来的例子和方法都是基于java的. 1.环境配置 (1)Jdk的配置: 我用的是1.7的jdk,配置方法都一样,新建一个JAVA_HOME,把你装好的jdk的路径复制

C#高级编程六十八天---LINQ小结

LINQ小结 一.LINQ是什么 LINQ也就是Language Interrated Query的缩写,怎么一个缩写法我也不明白,即语言集成查询,是微软在.NET3.5中提出的一项新技术,LINQ主要包含四个组件,下面看一下LINQ的一个架构图: 简单的介绍一些四个组件: 1.Linq to SQL 组件----可以查询基于关于数据的数据(微软本身只是实现了对SQL Server的查询,可以对数据库中的数据进行查询,修改,插入删除,排序等操作) 2.LINQ to Dataset组件----可

Windows环境下libxml2库的使用小结

(1)--环境的搭建,下载与安装LIBXML2和ICONV Libxml2是一个C语言的XML程序库,可以简单方便的提供对XML文档的各种操作,并且支持XPATH查询,以及部分的支持XSLT转换等功能.Libxml2的下载地址是http://xmlsoft.org/downloads.html,完全版的库是开源的,并且带有例子程序和说明文档.完全版的文件名为:libxml2-2.7.8.tar.gz. Libxml2中默认的内码是UTF-8,所有使用libxml2进行处理的xml文件,必须首先显