xpath写法:

绝对路径:以/开始,逐个增加节点用/分割

特点:不能跨级、类似css中的直接子元素选择器

相对路径:用两个斜杠  //      如  //div//p//a

通配符:xpath也有通配符 *

比如  所有的节点    //div/*    选择div下面所有的直接子元素

根据属性和属性的值的选择  -----------  比如 id  、 class='xxx'等

比如  //*[@style]    选择所有具有style属性的元素   -----  注意前面必须有个@

比如  //p[@spec='len2']   选择所有具有spec值len2的元素   -----等价于-------    css中的p[speec='len2']

比如  根据id选择   //div[@id='food']

比如  根据class选择   //div[@class='cheese']

模糊的属性值定位元素:

       fn:contains(string1,string2)写法    -------   contains()   包含

比如   //*[contains(@style, 'margin-top')]

       fn:starts-with(string1,string2)写法    -------- starts-with()    以什么开头

比如   //*[starts-with(@style, 'margin-top')]

:nth-child(n)写法   -----  选择父元素下第几个子元素

       比如   #food :nth-child(2)

:nth-of-type(n)写法   -------   选择属于父元素下第几个元素的每个元素

       比如  #food>p:nth-of-type(2)

子元素选择?:

选择属于其父元素的第n个某个类型的子元素

如  //*[@id='food']/p[1]   等价于   #food>p:nth-of-type(1)

选择属于其父元素的倒数第n个某个类型的子元素

如  //span[last()-1]

//*[@id='food']/span[last()]

还有像  :nth-last-child(n)

nth-last-of-type(n)

子元素选择:

选择属于其父元素的第n个子元素(基于所有类型元素)

如://*[@id='food']/*[position()=2]

支持其他的  比较操作符

如://*[@id='food']/*[position() < 3]

选择属于其父元素的倒数第n个子元素

如://*[@id='food']/*[position()=last()-1]

组元素:

在xpath中,用  |   来隔开,  如:  //p  |   //button

相邻兄弟选择器:

比如:   //*[@id='food']/following-sibling::div    找当前元素相邻的元素  往下找

比如:   //*[@id='food']/preceding-sinling::div    找当前元素相邻的元素怒  网上找

定位到上级元素:

比如:  //div/..

//div//*[id='food']/..

xpath擅长的:

选择父节点   ..符号

position函数,  结合比较操作符

注意:如果在写代码时,driver.find_elements_by_xpath('.//p')     相对路径时,前面必须要加上点。

Selenium之xpath绝对路径表示法的更多相关文章

  1. 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇

    在利用XSL进行转换的过程中,匹配的概念非常重要.在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select ...

  2. web中的CSS、Xpath等路径定位方法学习

    今天不到八点就到公司了,来的比较早,趁着有点时间,总结下web中的CSS.Xpath等路径定位定位的方式吧! 简单的介绍下xpath和css的定位 理论知识就不罗列了 还是利用博客园的首页.直接附上代 ...

  3. selenium中Xpath和CSS Selector的使用方法

    一.selenium中Xpath的使用方法 1. 什么是xpath? Xpath是XML的路径语言,通俗一点讲就是通过元素的路径来查找这个标签元素 2. 练习Xpath的工具 火狐浏览器,下载插件Fi ...

  4. selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)

    跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活定位不到,这个时候就需要自己学会动手写xpath,人脑总比电脑聪明,开始把xpath语法给我 ...

  5. selenium:Xpath定位详解

    xpath定位在业界被戏称为元素定位的"屠龙宝刀",宝刀在手,武林我有.现在我们就来详解xpath定位方法. 一.xpath通过元素属性定位 xpath可以通过元素的属性来定位,如 ...

  6. selenium之xpath定位和input文本

    selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...

  7. selenium+Java,xpath定位方法详解(搬运留存)

    用xpath绝对路径比较费事费力,还容易报错,下面几种模糊定位比较灵活好用 driver.findElement(By.xpath("//*[@id='J_login_form']/dl/d ...

  8. selenium,xpath路径中引入变量

    比如,我需要获取每一条微博的阅读数,总不可能所有微博都找出xpath,然后获取阅读数 找规律 “//*[@id='Pl_Official_MyProfileFeed__20']/div/div[2]/ ...

  9. selenium By.xpath 用法

    搞了一下午... 1.     Xpath往往以“//”开头,属性都是采用@表示,例如//div[@id='_navigation']/div 2.     Firefox有个插件叫做xpather, ...

随机推荐

  1. 用正则表达式获取URL中的查询参数

    总结获取url中查询参数的两种方式 通过正则表达式获取单个参数 url中的所有查询参数可以通过 window.location.search 字段获取,以字符串的形式返回.并有固定的格式 ?param ...

  2. ArcGIS 发布Feature服务

    运行环境: Win10 ArcGIS10.4 具体操作: 1.打开ArcMap,加载sde中导入的文件,也可以加载shp数据源指向sde中文件 2.保存成mxd,然后点share as-Service ...

  3. 如何通过swoole加速laravel的问题?

    这篇文章主要介绍了关于如何使用swoole加速laravel,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 再来复习一下吧,导致 php 慢的各种因素中解析性语言的特性可以说是罪魁祸首 ...

  4. 基于 HTML5 WebGL 和 VR 技术的 3D 机房数据中心可视化

    前言 在 3D 机房数据中心可视化应用中,随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的 ...

  5. 研究Java语言的编译器和虚拟机源代码

    现在使用Java语言的人很多,但是了解Java语言实现的人非常少.如果要研究Java语言的实现,推荐研究Javac和虚拟机HotSpot的源代码实现,其中Javac相当于Java编译的前端,HotSp ...

  6. 2019-11-6:ubuntu安装配置JAVA环境

    1,下载JAVA,官方java 18下载网站:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331 ...

  7. 【Luogu P2002&P2341】消息扩散/受欢迎的奶牛

    Luogu P2002 Luogu P2341 使用强连通分量算法缩点 第一题统计入度为0的个数强连通分量数. 第二题的答案为当且仅当仅有一个强连通分量的出度为0时该强连通分量的节点数,原因如下:若一 ...

  8. web网站常用功能测试点总结

    目录 一.输入框 二.搜索功能 三.添加.修改功能 四.删除功能 五.注册.登录模块 六.上传图片测试 七.查询结果列表 八.返回键检查 九.回车键检查 十.刷新键检查 十一.直接URL链接检查 十二 ...

  9. C#学习笔记02--Bool,关系/逻辑运算符, if/switch语句

    一. Bool类型   逻辑判断, C#中只有true和false两个值; 使用场景: 在分支和循环语句中, 常用作为判断条件来使用;   二. 关系运算符   关系运算符 (> < &g ...

  10. 关于jsp页面的复选框(checkbox)取值的获取问题

    复选框的取值问题可以使用js和jQuery来获取: jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素 ...