zoukankan      html  css  js  c++  java
  • selenium元素定位之父子节点、胞节点

    1、通过父节点定位子节点

    # 1.串联寻找
    print driver.find_element_by_id('B').find_element_by_tag_name('div').text
     
    # 2.xpath父子关系寻找
    print driver.find_element_by_xpath("//div[@id='B']/div").text
     
    # 3.css selector父子关系寻找
    print driver.find_element_by_css_selector('div#B>div').text
     
    # 4.css selector nth-child
    print driver.find_element_by_css_selector('div#B div:nth-child(1)').text
     
    # 5.css selector nth-of-type
    print driver.find_element_by_css_selector('div#B div:nth-of-type(1)').text
     
    # 6.xpath轴 child
    print driver.find_element_by_xpath("//div[@id='B']/child::div").text

    2、通过子节点定位父节点

    # 1.xpath: `.`代表当前节点; '..'代表父节点
    print driver.find_element_by_xpath("//div[@id='C']/../..").text
    # 2.xpath轴 parent
    print driver.find_element_by_xpath("//div[@id='C']/parent::*/parent::div").text

    3、通过老弟节点定位老哥节点

    # 1.xpath,通过父节点获取其哥哥节点
    print driver.find_element_by_xpath("//div[@id='D']/../div[1]").text
    # 2.xpath轴 preceding-sibling
    print driver.find_element_by_xpath("//div[@id='D']/preceding-sibling::div[1]").text

    4、通过哥哥节点定位弟弟节点

    # 1.xpath,通过父节点获取其弟弟节点
    print driver.find_element_by_xpath("//div[@id='D']/../div[3]").text
    # 2.xpath轴 following-sibling
    print driver.find_element_by_xpath("//div[@id='D']/following-sibling::div[1]").text
    # 3.xpath轴 following
    print driver.find_element_by_xpath("//div[@id='D']/following::*").text
    # 4.css selector +
    print driver.find_element_by_css_selector('div#D + div').text
    # 5.css selector ~
    print driver.find_element_by_css_selector('div#D ~ div').text
    本博客纯粹是学习过程中的笔记,部分来自转载或摘抄,如有侵权,请联系删除 email:18017870857@163.com
  • 相关阅读:
    MySql——编程
    MySql——事务控制语言(DTL)
    wamp-php 集成环境的基础配置
    用户的 添加 权限 MySql远程登录
    使用模拟器调试移动端
    new关键字对构造函数做了什么
    H5与Native交互之JSBridge技术
    拍照上传头像图像旋转的问题
    Vue实现用户自定义上传头像裁剪
    H5图片压缩上传
  • 原文地址:https://www.cnblogs.com/yanzhuping/p/14441322.html
Copyright © 2011-2022 走看看