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文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似. 下面列出了最有用的表达式: 在下面的表格中,我们已列出了一 ...
随机推荐
- lambda表达式的distinct去重
天真的我最开始以为可以写成list.distinct(x=>x.name);以为这样就可以按照name去重了,结果是不行的.这里记录下正确的用法. 1.这里是针对int集合 可以满足 #reg ...
- 使用Graph API 操作OneDrive 文件 权限 共享
(Get)列出默认驱动器下(获取items id) /me/drive/root/children 如果想找其他驱动器使用/Drives 列出后可以查看到驱动器下的文件,其中items id就是文件的 ...
- asp.net 页面,文字自适应手机屏幕
(1)在<head>和</head>之间插入代码. <meta name="viewport" content="width=device- ...
- ESP32的Linux开发环境搭建
1. 官网教程地址 https://docs.espressif.com/projects/esp-idf/zh_CN/v4.0.1/get-started/linux-setup.html 2.官网 ...
- c++与c
const char* c_str ( ) const; Get C string equivalent Generates a null-terminated sequence of charact ...
- shell编程之条件与分支语句
1.if条件分支语句 if expr1(条件测试) #如果expr1为真,返回0 then commands1 elif expr2 then commands2 .... ... else ...
- ssh2中的添,删,查,改。
1.spring封装的HibernateTemplate类的一些操作方法. 2.session提供的根据主键ID进行添.删.查.改的基本方法. 由session得到的hql语句 由session得到的 ...
- ubuntu13.04修改默认启动内核
ubuntu下面的启动内核选项跟其他操作系统不一样,有个子菜单,比如我在默认的ubuntu13.04上安装了一个新的内核3.14.5,那么默认的第一项是3.14.5内核,第二项是一个子菜单,第二项里面 ...
- 三叶草极客大挑战2020 部分题目Writeup
三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...
- a标签中的target
html中target四种选择_blank._parent._self._top,分别是什么意思? eg:<Cell title="Open link in new window&qu ...