• selenium定位方式-Xpath使用方法


    什么是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='4' and @multiple="multiple"]
     
    or就相反了,只要这些筛选中,其中一个出现那么就匹配到了
     
    //select[@name='city' or @size='4']

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

  • 相关阅读:
    leetcode 18 4Sum
    leetcode 71 Simplify Path
    leetcode 10 Regular Expression Matching
    leetcode 30 Substring with Concatenation of All Words
    leetcode 355 Design Twitte
    leetcode LRU Cache
    leetcode 3Sum
    leetcode Letter Combinations of a Phone Number
    leetcode Remove Nth Node From End of List
    leetcode Valid Parentheses
  • 原文地址:https://www.cnblogs.com/denise1108/p/10538101.html
Copyright © 2020-2023  润新知