热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SeleniumXpath使用方法

什么Xpath?Xpath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素工具Xpath的练习安装火狐浏览器后,下载插

什么Xpath?

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

工具

Xpath的练习安装火狐浏览器后,下载插件,FireBug

Xpath

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

1.Xpath支持id,class,name定位功能

通过ID定位
//*[@id='i1']
//*代表获取所有元素//*[@id='i1']
[]固定格式 @引用某样属性 id='xxx'
通过class定位
//*[@class='class_name']
通过name定位
//*[@name='name']

2.如果标签没有ID,class,name三种属性,Xpath还支持属性定位功能

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

2 //*[@other='attribute'] 

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

将*换成任意标签名,则可根据标签进行筛选
//input[@placeholder='用户名']

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

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

支持通过/进行层级递进,找到符合层级关系的标签
//form/div/input[@placeholder='用户名']
当层级都重复时,可以通过单个层级的属性进行定位
//form/div[@class='login-user']/input//div[@class='inner'][3]
//div[@class='inner'][3]/input

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

通过索引,在List中定位属性,与python的索引有些差别,Xpath从1
开始
//select[@name='city'][1]/option[1]
//div[@class=''driver][1]/div[@class='inner'][3]/input

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

通过and来缩小过滤的范围,只有条件都符合时才能定位到
//select[@name='city' and @size='4' and @multiple='multiple' ]
//select[@size='4' and @multiple='multiple']
or 就相反了,只要这些筛选中,其中一个出现那么就匹配到了
//select[@name='city' or @size='4']

 

转:https://www.cnblogs.com/wxcx/p/8922802.html



推荐阅读
  • 本文提供了一系列Python编程基础练习题,涵盖了列表操作、循环结构、字符串处理和元组特性等内容。通过这些练习题,读者可以巩固对Python语言的理解并提升编程技能。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • 本文详细探讨了在微服务架构中,使用Feign进行远程调用时出现的请求头丢失问题,并提供了具体的解决方案。重点讨论了单线程和异步调用两种场景下的处理方法。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 哈密顿回路问题旨在寻找一个简单回路,该回路包含图中的每个顶点。本文将介绍如何判断给定的路径是否构成哈密顿回路。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 在Java应用程序开发过程中,FTP协议被广泛用于文件的上传和下载操作。本文通过Jakarta Commons Net库中的FTPClient类,详细介绍如何实现文件的上传和下载功能。 ... [详细]
  • CSS3 backgroundsize让背景图寸尺大小可控
    2019独角兽企业重金招聘Python工程师标准background-size是CSS3提供的一个新特性,它可以让你随心所欲的控制背景图的尺寸大小。先简要的看看 ... [详细]
author-avatar
骑着羊赶着狼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有