zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【数位dp】Beautiful Numbers @2018acm上海大都会赛J
    【状压dp】Trie 树 @中山纪念中学20170304
    两个给点染色的问题-树上染色与图上染色
    【贪心】经营与开发 @upc_exam_5500
    【二分+拓扑排序】Milking Order @USACO 2018 US Open Contest, Gold/upc_exam_6348
    【并查集】Connectivity @ABC049&amp;ARC065/upcexam6492
    【倍增】T-shirt @2018acm徐州邀请赛 I
    Sparse Coding: Autoencoder Interpretation
    Sparse Coding
    Pooling
  • 原文地址:https://www.cnblogs.com/huangjiyong/p/12217660.html
Copyright © 2011-2022 走看看