selenium xpath高级语法

摘要:
它有点像#的标准语法xpath://tagname[@属性=“”]#@。您可以遵循任何属性。
# xpath 使用路径表达式来匹配xml文档或html文档中的节点或节点集,
# 这个路径表达式,和我们常见的文件夹路径有点像
# xpath 的标准语法 //tagname[@属性='']  # @后边可以跟任意属性,只要这个元素有就可以
# //a[@href='http://t.zoukankan.com/checkwork/manage']/i[@class='fa fa-tasks']
# 上述表达式理解为:
#   具备class属性且class属性值为fa fa-tasks
#   并且父元素是a标签,且父元素具有 href 属性,并且父元素的href属性值为/checkwork/manage


"""
xpath中的单斜杠和双斜杠
/ 通常用在绝对路径,也表示父子关系
// 通常用作相对路径,可以从文档的任意位置开始作为起点,也表示后代关系
"""

# xpath的属性定位表达式
# //p[@id]  匹配所有具备id属性的p标签
# //p[@id='abc']  匹配所有id属性值为abc的p标签
# //p[@  and @name='xyz']  xpath 允许我们使用and或or连接多个属性
# //*[@class='yu']  可以用星号代替tagname,代表通配符,这个表达式匹配所有class属性值为yu的元素,不论元素标签是什么


# xpath 允许我们使用文本进行定位(css不支持
# //*[text()='打 印']  使用的文本就是标签对之间的内容

# 轴定位
# //*[text()='打 印']/ancestor::span
# ancestor 选取当前节点的所有先辈元素,并且要指定先辈元素的类型

# //*[text()='打 印']/ancestor-or-self::div
# 选取当前节点所有的先辈元素,或者当前节点本身

# //*[text()='打 印']/preceding-sibling::span
# preceding-sibling 选取当前节点之前的所有同级节点

# //*[text()='打 印']/descendant::p
# descendant 选取当前节点的所有后代元素

# //*[text()='打 印']/descendant-or-self::span
# descendant-or-self 选取当前节点的所有后代元素,或者当前节点本身


# 在 xpath中,.代表当前路径,.. 代表上层路径

免责声明:文章转载自《selenium xpath高级语法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql备份还原MongoDB(10)- 查询嵌套文档下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#+Winform开发窗体程序

第一章:WinForm基础 一、概述 1、Windows Form(简称WinForm) 是微软.NET平台下用于开发"图形界面"应用程序的组件。   2、C/S架构 客户机(Client)/服务器(Server),是软件系统体系结构。 通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。  ...

爬虫实战(三) 用Python爬取拉勾网

目录 0、前言 1、初始化 (1)准备全局变量 (2)启动浏览器 (3)打开起始 URL (4)设置 cookie (5)初始化部分完整代码 2、爬取数据 (1)爬取网页数据 (2)进行翻页操作 (3)爬取数据部分完整代码 3、保存数据 4、数据可视化 5、大功告成 (1)完整代码 (2)运行过程 (3)运行结果 0、前言 最...

HDFS常用命令

HDFS常用命令,虽然现在流行很多hadoop插件,直接或间接操作HDFS,但是熟悉HDFS原生操作命令也是有好处的。HDFS命令和Linux系统操作命令有很多相似之处,对熟悉Linux系统操作的人来说学习很简单,所以大数据入门首先学习Linux系统。hadoop fs 和hdfs dfs 两种命令都可以操作执行。 #hdfs dfs -help [com...

crnn转换数据集

在做crnn实验的时候数据的格式是一张图片对应一个标签,比如说 图片名称 1.jpg 内容是 你好呀 那么你的标签就应该是 1.txt 在网上找了一个数据集 https://github.com/YCG09/chinese_ocr 数据集下载地址 数据集:https://pan.baidu.com/s/1QkI7kjah8SPHwOQ40rS1Pw (密码...

element的form表单中如何一行显示多el-form-item标签

效果图: HTML代码: <script src="//unpkg.com/vue/dist/vue.js"></script> <script src="//unpkg.com/element-ui@2.4.3/lib/index.js"></script> <div i...

Django Restful Framework

你在浏览器中输入了一个地址的时候发生了什么事情? 1.HOST 2.DNS 3.HTTP/HTTPS协议 发送一个协议 4.进入了实现了WSGI协议的服务器(wsgiref uwsgi(C语言实现,多线程,多进程,PHP,TOMCAT)) 5.请求进入Django 6. 前后端不分离:中间件->路由分发->对应的视图函数->找到模板,渲...