XPATH基本语法
1.XPATH与自动化之间的关系
1.XPATH是一门在XML文档中查找信息的语言。XPATH可用来在XML文档中对元素和属性进行遍历。
2.XPATH是用来选择“节点”的一种基于表达式的语言;
3.表达式的格式类似于文件系统,eg. C:\user\admin;
4.XPATH最常用的场景之一就是在自动化中用来选择HTML DOM 节点;
5.Selenium原生支持XPATH,因此也是selenium自动化测试中作为选择web 元素的主要方法之一;
2.XPATH简介

XPATH 包含一个标准函数库:XPATH含有超过100个内建的函数。可以处理字符串值,数值,日期和时间比较,节点和QName处理,序列处理,逻辑值等等。
3.XPATH术语
有7种类型的节点(Node):元素、属性、文本、命名空间、处理指令、注释、文档节点(或称为根节点).XML文档是被作为节点树来对待的,树的根被称为文档节点或根节点。基本值(Atomic value)是无父或无子的节点。项目(Item)是基本值或者节点。
XPATH节点:

XPATH术语:
– Parent:父节点
– Child:子节点
– Sibling:同胞节点
– Ancestor:先辈节点
– Descendant:后代节点
XPATH术语:

4.XPATH语法

4-1.选取节点


4-2.谓语(Predicates)
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
谓语被嵌在方括号中。

4-3.选取未知节点

4-4.选取若干路径

5.XPATH轴

5-1.位置路径表达式

5-2.步包括轴和节点测试


6.XPATH运算符
XPATH 表达式可返回节点集、字符串、逻辑值以及数字。

https://www.cnblogs.com/zhaozhan/archive/2009/09/10/1564332.html
http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
选取当前节点之后的所有同级节点:Following-sibling::子节点标签名
选取当前节点的父节点:parent::子节点标签名
选取当前节点之前的所有同级节点:Preceding-sibling::子节点标签名
7.用Text构建有效的XPATH
语法如下://标签名[text()=’标签名对应的文本名称’]
比如://a[text()=’文本名称’],文本名称要完全匹配,包括空格。
8.用Contains关键字构建有效的XPATH
语法如下://标签名[contains(attribute,’属性的值’)]
比如://a[contains(text(),’忘记密码’)],其中忘记密码可以部分包含,不用完全匹配。
//input[contains(@class,’ipt’) and contains(@placeholder,’手机号’)],其中可以使用逻辑的方式去定位元素。
9.用startwith关键字构建有效的XPATH
语法如下://标签名[startwith(attribute,’属性的开始值开头’)]
比如://input[starts-with(@class,’xa-emaiOrphone’)]
XPATH基本语法的更多相关文章
- Xpath基础语法学习
背景: 之所以学习Xpath,是因为在学习selenium定位页面元素,总是定位不到元素.为了更好的开展自动化测试,先学习下Xpath. 一:Xpath是什么. 1:Xpath是一门在XML文档中查找 ...
- 转载:XPath基本语法
出处:http://www.cnblogs.com/Miko2012/archive/2012/10/26/2740840.html XPath的语法最基本的节点之间用/,属性用@,还有几个函数记住了 ...
- XPath的语法
XPath 是XML的查询语言,和SQL的角色很类似.以下面XML为例,介绍XPath 的语法. <?xml version="1.0" encoding="ISO ...
- ios中XPath的语法
在XML的读写中,我们知道有Xpath的语法 1.定位节点:(/)代表绝对的路径,代表起始地位置.(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来 2.KissX ...
- python爬虫xpath的语法
有朋友问我正则,,okey,其实我的正则也不好,但是python下xpath是相对较简单的 简单了解一下xpath: XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML ...
- xpath的chrome插件安装,xpath基本语法
xpath插件安装: 注意:提前安装xpath插件 (1)打开chrome浏览器 (2)点击右上角小圆点 (3)更多工具 (4)扩展程序 (5)拖拽xpath插件到扩展程序中 (6)如果crx文件失效 ...
- [Python 练习爬虫] XPATH基础语法
XPATH语法: // 定位根标签 / 往下层寻找 /text() 提取文本内容 /@xxx 提取属性内容 Sample: import requests from lxml import etree ...
- Selenium2+python自动化-xpath定位语法
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语 ...
- Python爬虫基础讲解(七):xpath的语法
xpath语法 XPath使用路径表达式来选取XML文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似. 下面列出了最有用的表达式: 在下面的表格中,我们已列出了一 ...
随机推荐
- MSSQL 指定分隔符号 生成数据集
DECLARE @xml VARCHAR(MAX)='磨毛:1 缩率:2 干磨:3 湿摩:4 水洗牢度:5 手感:6 防水:7 PH:8 日晒:9' SET @xml= '<root>'+ ...
- 02模板渲染和参数(补充:URL传参到视图)
先抛出代码: @app.route('/') def index(): return render_template('index.html',username ="郑勇") 问题 ...
- JavaScript一元运算符、二元运算符和三元运算符
在JavaScript中,运算符可以根据其实际操作数的个数进行分类. JavaScript中的大多数运算符是一个二元运算符(binary operator),将两个表达式合并成为一个稍复杂的表达式.譬 ...
- 前端动画框架GSAP框架随笔
gsap是目前非常流行的前端动画框架,可以非常轻松构造出复杂的动画效果,这里仅对我实际使用中的一些例子进行总结 官网 示例 文章种所使用代码的在线示例 基础用法 // 声明一个滚动控制器 let ct ...
- Socket shutdown close简要分析
shutdown 系统调用关闭连接的读数据通道 写数据通道 或者 读写数据通道: 关闭读通道:丢弃socket fd 读数据以及调用shutdown 后到达的数据: 关闭写通道:不同协议处理不同:t ...
- Python_字符串处理方法
1.字符串转换 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 1.字符串复制 #s ...
- ArrayList和LinkedList 的联系和区别
ArrayList和LinkedList 的联系和区别 1.联系: 都实现了List接口 有序 不唯一(可重复) 2.区别 ArrayList LinkedList
- python3 多线程批量验证POC模板
#coding:utf-8 import threading,Queue,sys,os class RedisUN(threading.Thread): def __init__(self,queue ...
- 原生javascript包装一个ajax方法
调用AJAX 1 <script type="text/javascript" src="ajax.js"></script> 2 &l ...
- php在线预览pdf文件
话不多说,直接上代码 <?php public function read_pdf($file) { if(strtolower(substr(strrchr($file,'.'),1)) != ...