zoukankan      html  css  js  c++  java
  • 手写xpath定位公式

    做web自动化,之前我们已经将环境搭建好了,现在的话总结下怎么定位元素的

    最基本的元素定位是有6种:

    driver.find_element_by_id("")
    driver.find_element_by_class_name("")
    driver.find_element_by_link_text("")
    driver.find_element_by_partial_link_text("")
    driver.find_element_by_name("")
    driver.find_element_by_tag_name("")

    以上这6中方式一般在做web自动化项目的时候我们用的还是比较少的,常用的还是xpath和css,css目前我没有去研究学习,这里我总结下xpath是怎么用的吧

    在浏览器重一般自带的功能可以让你直接复制xpath,但是这种方式小打小闹还可以,真正做项目也没有谁会去复制xpath,都是靠自己手动去写的,那么怎么取自己手写xpath呢?

    下面介绍几种方式来手写:

    1、//标签名[@属性名=值]

    定位百度首页中的输入框:

     2、通过部分属性值来匹配

    //标签名[contains(@属性名,值)]

     3、利用文本

    文本全部匹配://标签名[text()=值]

    文本部分匹配://标签名[contains(text(),值)]

     4、轴定位

    相对于以上3中方式,轴定位是比较复杂的了,一般用以上3中还是定位不了,我们就会采用轴定位的方式了

    先介绍下轴定位的语法:

    轴名称::节点名称

    轴名称常用的有以下:

    ancestor:祖先节点,包括父节点

    parent:父节点

    preceding:当前节点标签之前的所有节点

    prececing-sibling:当前节点前的所有兄弟节点(同级)

    following:当前节点标签之后的所有节点

    following-sibling:当前节点标签之后的所有兄弟节点(同级)

    举个栗子吧:课堂派中的注册框中的已有账号用其他方式是定位不了的,需要采用轴定位方式

    //div[@class="choose"]/following-sibling::a/span[@class="str1"]

  • 相关阅读:
    MFC中控制Tips的显示
    VC++6.0/MFC 自定义edit 限制输入内容 响应复制粘贴全选剪切的功能
    VC++6.0/MFC中如何限制Edit控件输入 例子,只能输入0和1
    Windows安装配置php+memcached的方法
    mrg_myIsam分表引擎用法
    用PHP做服务器接口客户端用http协议POST访问安全性一般怎么做
    PHP慢脚本日志和Mysql的慢查询日志(转)
    nginx 配置优化的几个参数
    static详解
    Redis命令总结
  • 原文地址:https://www.cnblogs.com/LCboss/p/11904320.html
Copyright © 2011-2022 走看看