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文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似. 下面列出了最有用的表达式: 在下面的表格中,我们已列出了一 ...
随机推荐
- pc端兼容IE9及以上版本
最近业务部门反映我们商城的兼容性不是很好,尤其是在IE浏览器上,经过调研,我们决定对IE9及以上版本的IE内核浏览器进行主流程测试,发现有哪些功能在IE9上不兼容 一.CSS兼容性 如下图所示 使用了 ...
- 为什么layui表单不显示?
当你使用表单时,Layui会对select.checkbox.radio等原始元素隐藏,从而进行美化修饰处理.但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例.值得注意的是:导航 ...
- ERP的协议管理的操作与设计--开源软件诞生27
赤龙ERP协议与订单进阶讲解--第27篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/re ...
- [LeetCode题解]160. 相交链表 | 双指针 + 哈希表
方法一:双指针 解题思路 假设链表存在相交时,headA 的长度为 a + c,headB 的长度为 b + c.如果把 headA 连上 headB,headB 连上 headB 的话,当遍历这两个 ...
- ACCESS渗透测试
access-getshell 直接写shell # 创建临时表 create table test(a varchar(255)); # 插入一句话木马 insert into test(a) va ...
- cmd编译java代码为什么总是说找不到main方法;请园子里大神指点迷津!!!
编写源代码如下: cmd,编译路径:E: cd Notepad cd src javac Character.java jvav Character 运行结果: 实在是找不到问题点,请评论区给予指导啊 ...
- 分布式监控系统之Zabbix主动、被动及web监控
前文我们了解了zabbix的网络发现功能,以及结合action实现自动发现主机并将主机添加到zabbix hosts中,链接指定模板进行监控:回顾请参考https://www.cnblogs.com/ ...
- C# 中的本地函数
今天我们来聊一聊 C# 中的本地函数.本地函数是从 C# 7.0 开始引入,并在 C# 8.0 和 C# 9.0 中加以完善的. 引入本地函数的原因 我们来看一下微软 C# 语言首席设计师 Mads ...
- ABBYY FineReader 14新建任务窗口给我们哪些帮助?
当您启动ABBYY FineReader时, 新任务 将打开一个窗口,在其中您可以轻松打开.扫描.创建或对比文档. 如果您没有看到此 内置任务 窗口(比如,如果您关闭了该窗口,或者您通过在 Windo ...
- web自动化 模拟鼠标、键盘操作
一.鼠标操作 1.1鼠标的悬停操作,move_to_element from selenium import webdriver from selenium.webdriver.common.acti ...