什么是Xpath?

XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素。

一、 在火狐浏览器上安装Xpath

方法如下:

1、使用 Firefox 访问 https://addons.mozilla.org/zh-CN/firefox/addon/xpath-checker/
2、点击绿色的 添加到 Firefox 按钮以安装。
3、Firefox将下载相应的附加组件,并在安装之前申请您的许可。
4、弹出立即重启的按钮,请点击它。

二、Xpath使用方法

注:默认死格式 先写 //* 代表定位页面下所有元素

1、Xpath支持ID、Class、Name定位功能

通过ID定位

//*[@id='kw']

通过Class定位

//*[@class='class_name']

通过Name定位

//*[@name='name']

2、如果标签没有ID、Class、Name三个属性,Xpath还支持属性定位功能

@ 代表以属性定位,后面可以接标签中任意属性

//*[@other='attribute']

3、当标签的属性重复时,Xpath提供了通过标签来进行过滤

将 * 换位任意标签名,则可根据标签进行筛选

//input[@placeholder='用户名']  #查找所有input标签下的placeholder='用户名'的元素

4、当标签页重复时,Xpath提供了层级过滤

例如:找不到儿子,那么就先找他的爸爸,实在不行可以在找他的爷爷

支持通过 / 进行层级递进,找到符合层级关系的标签

//form/div/input[@placeholder="用户名"]

当层级都重复时,可以通过单个层级的属性进行定位

//form/div[@class='login-user']/input

5、一个元素它的兄弟元素跟它的标签一样,这时候无法通过层级定位到。因为都是一个父亲生的,多胞胎兄弟。Xpath提供了索引过滤

通过索引,在List中定位属性,与python的索引有些差别,Xpath从1开始

//select[@name='city'][1]/option[1]

6、上面集中如果都用上了之后还重复的话,我们就可以使用Xpath提供的终极神器,逻辑运算定位。and 或 or

通过and来缩小过滤的范围,只有条件都符合时才能定位到

//select[@name='city' and @size='' and @multiple="multiple"]

or就相反了,只要这些筛选中,其中一个出现那么就匹配到了

//select[@name='city' or @size='']

转载地址:http://www.imdsx.cn/index.php/2017/07/27/xpath/

selenium定位方式-Xpath使用方法的更多相关文章

  1. selenium元素定位方式xpath总结

    一.绝对路径(不要使用,除非已经使用了所有方式仍然无法定位)方法:根据实际目录,逐层输写.例子: find_element_by_xpath("/html/body/div[2]/form/ ...

  2. 了解 Selenium 定位方式

    ※元素定位的重要性:在于查找元素 And 执行元素 定位元素的三种方法 1.定位单个元素:在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.在这些定位方式中,优 ...

  3. selenium 定位方式

    在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...

  4. selenium定位方式-获取标签元素:find_element_by_xxx

    定位方式取舍# 唯一定位方式.多属性定位.层级+角标定位(离目标元素越近,相对定位越好) # 推荐用css selector(很少用递进层次的定位)# 什么时候用xpath呢? 当你定位元素时,必须要 ...

  5. python版本selenium定位方式(不止八种哦)

    除了大家熟知的8种定位方式之外 1.id定位:find_element_by_id(self, id_)2.name定位:find_element_by_name(self, name)3.class ...

  6. Selenium定位元素-Xpath的使用方法

    工具 Xpath的练习建议下载火狐浏览器,下载插件Firebug.Firepath. 由于最新版火狐不支持Firebug等扩展工具了,所以需要下载49版以下的版本安装https://ftp.mozil ...

  7. python+selenium 定位元素的主要方法

    selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种: 通过id定位元素:find_element_by_id("id_vaule") 通过name ...

  8. Selenium学习之==>Xpath使用方法

    一.什么是Xpath XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 工具 Xpath的练习建议大家安装火狐浏览器后,下载插件,FireBug.由于最新版火狐不再支持 ...

  9. selenium定位方式源码的存放位置

    find_element方法源码存在位置 by定位方法

随机推荐

  1. python学习笔记5_异常

    python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...

  2. AI移动自动化测试框架设计(解读)

    声明:原文出自"前端之巅"微信公众号"爱奇艺基于AI的移动端自动化测试框架的设计"一文,作者:何梁伟,爱奇艺Android架构师.文章提供了一种基于AI算法的自 ...

  3. (六)jdk8学习心得之Stream流

    六.Stream流 1. 什么是stream流 现阶段,可以把stream流看成一个高级版的Iterator.普通的Iterator只能实现遍历,遍历做什么,就需要具体些功能代码函数了.而这个stre ...

  4. MySQL之开发规范

    一..数据库命名规范 1.所有数据库对象名称必须使用小写字母并用下划线分割 2.所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3.数据库对象的命 ...

  5. linux sed awk seq 正则使用 截取字符 之技巧

    [root@room9pc01 ~]# seq 5 1 2 3 4 5 [root@room9pc01 ~]# seq 2 5 2 3 4 5 seq 1 2 10 1 3 5 7 9 [root@d ...

  6. Oracle查询字符串数据进行排序,以及去重复

    原本的的一张表,填写数据的字段为字符串varchar2类型,然后进行排序的时候,就会出现问题.会默直接默认判断为第一个数字9最大,而不判断整个数字的大小. 所以,就要用到TO_NUMBER函数 sel ...

  7. FJUTOJ-周赛2016-12-16

    注:fjutoj基本每周都有一次周赛,欢迎大家都来参加! 网址:http://59.77.139.92/index.jsp A题:来源 POJ 2773 题意:给两个数m和k,问第k 个和m 互素的数 ...

  8. java篇 之 流程控制语句

    条件判断语句 条件语句: If(boolean类型) {} else {}    (打大括号避免出错) switch (export)语句:export的类型必须是 byte,short,char,i ...

  9. Go语言中数组

    数组是一个值类型 func ArrayTest1(){ var arryA [3]int = [3]int{1,2,3} //创建一个数组B,将B中第二个元素设置为200 arryB := arryA ...

  10. form组件+cookie+session总结

    1.forms 组件 -数据校验功能 1.定义 -新建一个py文件 -导入from django import forms -写一个类继承 forms.Form -把你需要校验的(字段的条件)属性写到 ...