selenium用css、xpath表达式进行元素定位
绝对路径选择
从根节点开始的,到某个节点,每层都依次写下来,每层之间用 / 分隔的表达式,就是某元素的 绝对路径
- Xpath : /html/body/div
- CSS : html>body>div
相对路径选择
选择所有div元素里面的子节点p
- Xpath : //div//p
- CSS :
- 选择直接子元素(父元素是div的p元素)div>p
- 选择后代子元素(div元素里的所有p元素)div p
 
- 选择直接子元素(父元素是div的p元素)
通配符*
选择所有div节点的所有直接子节点
- Xpath : //div/*
- CSS : div>*
根据属性选择
选择所有class为a的b元素
- Xpath : //b[@class='a']
- CSS : .a
选择style属性为color的所有元素
- Xpath : //*[@style='color']
- CSS : [style='color']
选择a属性包含b的所有元素
- Xpath : //*[contains(@a,'b')]
- CSS : [a*='b']
选择a属性开头为b的所有元素
- Xpath : //*[starts-with(@a,'b')]
- CSS : [a^='b']
选择a属性结尾为b的所有元素(xpath2.0语法,浏览器不支持)
- Xpath : //*[ends-with(@a,'b')]
- CSS : [a$='b']
选择a属性包含a1,b属性开头b1,c属性结尾为c1的d元素
- CSS : d[a*='a1'][b^='b1'][c$='c1']
按次序选择元素
选择父元素为div中的p类型第2个子元素
- Xpath : //div/p[2]
- CSS : div p:nth-child(2)
选择父元素为div的第2个子元素
- Xpath : //div/*[2]
- CSS : div :nth-child(2)
选取p类型倒数第2个子元素
- Xpath : //p[last()-1]
- CSS : p:nth-last-child(2)
选择a元素的第n个p子节点
- CSS : a p:nth-of-type(n)
选择a元素的倒数第n个p子节点
- CSS : a p:nth-last-of-type(n)
选择a元素的偶数子节点
- CSS : a p:nth-of-type(n)
选择a元素的奇数子节点
- CSS : a :nth-child(even)
选择a元素的p类型的偶数子节点
- CSS : a p:nth-of-type(even)
选择a元素的p类型的奇数子节点
- CSS : a p:nth-of-type(even)
按范围选择元素
选取option类型第1到2个子元素
- Xpath : //option[position()<=2]
选择class属性为a的前3个子元素
- Xpath : //*[@class='a']/*[position()<=3]
选择class属性为a的后3个子元素
- Xpath : //*[@class='a']/*[position()>=last()-2]
组选择
选所有class为a的元素,和所有id为b的元素
- Xpath : //*[@class='a'] | //*[@id='b']
- CSS : .a , #b
根据子节点选择父节点
父节点没有特征,但子节点有特征时,可通过子节点定位父节点
查找后2代元素包含a元素的节点
- Xpath : //a/../..
兄弟节点选择
选择 class 为 a 的元素的所有后续兄弟节点
- Xpath : //*[@class='a']/following-sibling::*
- CSS : .a ~ *
选择 class 为 a 的元素的所有前置兄弟节点
- Xpath : //*[@class='a']/preceding-sibling::*
- CSS : 不支持
selenium用css、xpath表达式进行元素定位的更多相关文章
- Python3.x:Selenium中的webdriver进行页面元素定位
		Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver ... 
- 网络爬虫之Selenium模块和Xpath表达式+Lxml解析库的使用
		实际生产环境下,我们一般使用lxml的xpath来解析出我们想要的数据,本篇博客将重点整理Selenium和Xpath表达式,关于CSS选择器,将另外再整理一篇! 一.介绍: selenium最初是一 ... 
- selenium使用笔记(三)——元素定位
		selenium进行自动化测试的一个很重要的东西那就是元素定位,如果元素都没法定位就无法操作它,也就无法进行自动化测试了.网上对于元素定位有很多的介绍,很详细很详细的,但是依然有很多新手总是会遇到无法 ... 
- selenium自动化测试——常见的八种元素定位方法
		selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位: ... 
- Python+Selenium笔记(六):元素定位
		(一) 前言 Web应用以及包含超文本标记语言(HTML).层叠样式表(CSS).JS脚本的WEB页面,基于用户的操作(例如点击提交按钮),浏览器向WEB服务器发送请求,WEB服务器响应请求,返 ... 
- selenium(1)-详细解读元素定位的八种方式
		安装selenium和下载webdriver 安装selenium pip install selenium pip install selenium -U (判断是否有最新版本) 下载drive ... 
- python+selenium笔记(一):元素定位方法
		一.环境准备: 1.浏览器选择:Firefox 2.安装插件:Firebug和FirePath(设置>附加组件>搜索:输入插件名称>下载安装后重启浏览器) 3.安装完成后,页面右上角 ... 
- Selenium基础知识(8大元素定位概说)
		1. By.name() 页面源码如下: [html] : <button id="gbqfba"aria-label="Google Search" n ... 
- Selenium+Python系列(二) - 元素定位那些事
		一.写在前面 今天一实习生小孩问我,说哥你自动化学了多久才会的,咋学的? 自学三个月吧,真的是硬磕呀,当时没人给讲! 其实,学什么都一样,真的就是你想改变的决心有多强罢了. 二.元素定位 这部分内容可 ... 
随机推荐
- 掌握JavaScript中的Promise,实现异步编程
			事件循环 基本介绍 JavaScript是一门单线程的编程语言,所以没有真正意义上的并行特性. 为了协调事件处理.页面交互.脚本调用.UI渲染.网络请求等行为对主线程造成的影响,事件循环(event ... 
- DrJava试用笔记
			安装方便:只要配好JAVA_HOME,用java -jar drjava-stable-20120818-r5686.jar即可启动,算是绿色软件: 特色功能:交互式命令行,可以在调试程序时改变变量值 ... 
- MyBatis学习06(动态SQL和缓存)
			10.动态SQL 10.1 什么是动态SQL 动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句. 官网描述: MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或 ... 
- Nginx配置websocket的安全协议wss
			//nginx配置wss访问方式 map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream webso ... 
- gRPC学习之五:gRPC-Gateway实战
			欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ... 
- yum clean all大坑解决
			在Centos7系统中执行yum clean all 之后,发现yum的其他执行都报错了: 要解决,关键在这里: 把/var/cache/yum/ 下面的文件删除了 接下来,如果执行yum repol ... 
- javaWeb常用面试题
			JDBC JDBC访问数据库的基本步骤是什么? 加载驱动 通过DriverManager对象获取连接对象Connection 通过连接对象获取会话,有2种方式Statement.PreparedSta ... 
- 详解C#中 Thread,Task,Async/Await,IAsyncResult的那些事儿
			说起异步,Thread,Task,async/await,IAsyncResult 这些东西肯定是绕不开的,今天就来依次聊聊他们 1.线程(Thread) 多线程的意义在于一个应用程序中,有多个执行部 ... 
- WPF Tree多级绑定
			<Window x:Class="TreeTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/20 ... 
- WPF---数据绑定之Xml数据源(四)
			一.场景 现在外部有一xml文件,我们想将该xml文件中的内容绑定到ListView中,该如何实现? 二.实现 xml文件的内容如下: <?xml version="1.0" ... 
