selenium--find_element_by_xpath()方法汇总
一、从根目录/开始
有点像Linux的文件查看,/代表根目录,一级一级的查找,直接子节点,相当于css_selector中的>号/html/body/div/p
二、根据元素属性选择:
查找具体的元素,必须在前面输入标准开头//,表示从当前节点寻找所有的后代元素
- //div/* div下面的所有的元素
- //div//p 先在整个文档里查找div,再在div里查找p节点(只要在内部,不限定是否紧跟) ;等价于 css_selector里的('div p')
- //div/p p是div的直接子节点; 等价于 css_selector里的('div > p')
- //*[@style] 查找所有包含style的所有元素,所有的属性要加@; 等价于 css_selector里的('*[style]')
- //p[@spec='len'] 必须要加引号;等价于 css_selector里的("p[spec='len']")
- //p[@id='kw'] xpath中对于id,class与其他元素一视同仁,没有其他的方法
三、选择第几个节点
- //div/p[2] 选择div下的第二个p节点 ;等价于css_selector里的div>p:nth-of-type(2) 符合p类型的第二个节点
- //div/*[2] 选择div下第二个元素
- //div/p[position()=2] position()=2 指定第二个位置; 等价于上面的 //div/p[2]
- position()>=2 位置大于等于2
- position()<2 位置小于2
- position()!=2 位置不等于2
- //div/p[last()] 选择div下的倒数第一个p节点; last()倒数第一个
- //div/p[last()-1] 选择div下的倒数第二个p节点;
- //div/p[position()=last()] 倒数第一个
- //div/p[position()=last()-1] 倒数第二个
- //div/p[position()>=last()-2] 倒数第一个,第二个,第三个
四、组合选择
- //p | //button 选择所有的p和button,等价于css_selector里的 p, button
- //input[@id='kw' and @class='su'] 选择id=kw 并且 class="su"的input元素
五、兄弟节点的选择相邻后面的兄弟节点的选择:
- following-sibling:: 两个冒号
- //div/following-sibling::p 选择div里相邻的p节点
- 相邻前面的兄弟节点的选择:preceding-sibling:: 此方法在css_selector中没有
- //div/preceding-sibling::p[2] 选择div里前面相邻的第二个节点,不加[2]选择的是前面的所有的p节点
六、选择父节点
- //p[@spec='len']/.. 选择p节点的上层节点 此方法在css_selector中没有
- //p[@spec='len']/../.. 上层节点的上层节点
七、在webelement对象里面使用查找Xpath 查找时,必须使用.指明当前节点
- food = driver.find_element_by_id('food')
- eles = food.find_elements_by_xpath(".//p") .指明当前节点
- eles = food.find_elements_by_xpath("..") 查找当前节点的父节点
参考博客:https://blog.csdn.net/u012941152/article/details/83011110
selenium--find_element_by_xpath()方法汇总的更多相关文章
- selenium定位方法实例
selenium定位方法实例 首先打开浏览器输入微博的网址,将网页最大化,等待3秒 from selenium import webdriver import time driver = webdri ...
- selenium定位方法(二)
selenium定位方法(二) 1.xpath定位:xpath是在XML中查找节点所在的路径的表达式 1)绝对路径的Xpath表达式 例:/html/body/div/div[1]/ul//li[3 ...
- 你真的会玩SQL吗?实用函数方法汇总
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- Java实现时间动态显示方法汇总
这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...
- C#读写文件的方法汇总_C#教程_脚本之家
C#读写文件的方法汇总_C#教程_脚本之家 http://www.jb51.net/article/34936.htm
- UITextView实现placeHolder方法汇总
UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户的作用.可是UITextView就没那么幸运了,apple没有给UITextView提供 ...
- 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)
这篇文章主要介绍了将编码从GB2312转成UTF-8的方法汇总(从前台.程序.数据库),需要的朋友可以参考下 一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意 ...
- 本地获取System权限CMD方法汇总(转)
本地获取System权限CMD方法汇总(转) 稍微整理了下,大概有三种方法可以本地获取system权限的cmd,但前提都是当前用户具备administrator权限. 下面列举的三种方法各有千秋,看你 ...
- Javascript对象属性与方法汇总
Javascript对象属性与方法汇总 发布时间:2015-03-06 编辑:www.jquerycn.cn 详细介绍下,javascript对象属性与对象方法的相关知识,包括javascript字符 ...
- .net(C#)操作文件的几种方法汇总
.net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...
随机推荐
- vue-cli项目传到服务器后打不开的问题
1.vue-cli项目执行dev可以打开网站,直接点击文件或发布后却打不开的问题 webpack.prod.conf.js: output: { ....... publicPath:'./' ...
- 利用VS Code在Azure上构建部署静态页面
0x00 前言 前一段时间,我找到了Jendrik Illner的个人网站.除了那里的精彩文章,网站的主题也吸引了我的注意力,而且我发现该网站的主题采用了Hugo的Academic主题. 然后,我认为 ...
- Java第一次代码作业汇总
练习题1:(完数问题) 求100以内的所有完数.(完数:它所有因子之和等于其本身) 方法一: /* 解体思路:1.先找出每个数的所有因子 2.比较因子之和是否与其数本身相等 */ public c ...
- Linux运维--实践-Rally
1.rally简介 OpenStack Rally 是一个自动化测试工具,社区希望通过 Rally 来解答 "How does OpenStack work at scale?(如何规模化运 ...
- bootstrap-daterangepicker
1,依赖关系 使用之前需要引用bootstrap.css daterangpicker.css jquery.js boostrap.js moment.js daterangpi ...
- CSS权威指南(第三版)
CSS权威指南(第三版).pdf 网盘: https://545c.com/file/24657411-425141851 获取码: 276922
- Shiro -- (四) 数据库支持
主要就是JdbcRealm这个类 先看一下部分源码: 先建表:users(用户名 / 密码).user_roles(用户 / 角色).roles_permissions(角色 / 权限),并且往use ...
- 寒假学习进度一(安卓配置环境的搭建和hello world)
今天学习内容:观看了哔哩哔哩上的安卓教学视频,简单了解下了安卓的基本知识 具体内容: 一.配置安卓开发环境(安装Android studio,配置JDK) Android studio是个集成环境,不 ...
- Android中四种补间动画的使用示例(附代码下载)
场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程 ...
- Elasticsearch之文档的增删改查以及ik分词器
文档的增删改查 增加文档 使用elasticsearch-head查看 修改文档 使用elasticsearch-head查看 删除文档 使用elasticsearch-head查看 查看文档的三种方 ...