css选择器用法,使用css定位元素,css和xpath元素定位的区别
css定位元素
1.什么是css?
CSS(Cascading Style Sheets)层叠样式表,是一种语言,用来描述html或者xml的显示样式。在css语言中有css选择器,在selenium中同样适用。
提示:在selenium中相比较xpath,更推荐使用css选择器,因为css速度更快
2.css定位方法
driver.find_element_by_css_selector()
3.css定位常用策略
- id选择器,通过id属性定位
- class选择器,通过class属性定位
- 元素选择器,通过元素定位
- 属性选择器,通过属性定位
- 层级选择器,用空格或者大于号表示层级关系
3.1 id选择器
以百度首页为例,通过id选择就只需要:#su
driver.find_element_by_css_selector(‘#su’)
#表示后面跟的是id的属性值,’#su’意思是id属性为’su’的元素
3.2 class选择器
上面的例子可以找到“百度一下”这个按钮,如果想通过class属性找的话,就:.bg s_btn
‘.’这个点表示后面跟的是class属性的值,driver.find_element_by_css_selector(‘.bg s_btn’)就是通过class属性查找属性值为’bg s_btn’的元素
3.3元素选择器
input就是查找所有input元素
driver.find_element_by_css_selector(‘input’)
3.4 属性选择器
[id = ‘su’]查找id属性为‘su’的元素,等同于#su
driver.find_element_by_css_selector(‘[name='ie']’)
3.5 层级选择器
根据元素的父子关系来选择,格式为 element > element 大于号可以用空格代替
driver.find_element_by_css_selector(‘div > [name='ie']’)这个就是查找div下的name属性为ie的元素
注意:直接子节点才可以用>
3.6 css延伸
input[type^=’P’] 找一个input元素,type属性的值以P开头
input[type$=’d’] 找一个input元素,type属性的值以d结尾
input[type*=’w’] 找一个input元素,type属性的值包含w
css元素定位和xpath元素定位的对比
|
定位方式 |
xpath |
css |
|
元素名 |
//input |
input |
|
id |
//input[@id=’su’] |
#su |
|
class |
//input[@class=’su’] |
.su |
|
属性 |
//*[starts_with(@属性名,’XXX’)] //*[contains(@属性名,’XXX’)] //*[text()=””] |
input[type$=’XXX’] input[type*=’XXX’] input[type^=’XXX’] |
xpath定位元素参考链接:
https://www.cnblogs.com/sy_test/p/12201868.html
css选择器用法,使用css定位元素,css和xpath元素定位的区别的更多相关文章
- 牢记 31 种 CSS 选择器用法
原文 The 30 CSS Selectors you Must Memorize 由 Jeffrey Way 发表于 2011 年 6 月,介绍了 30 种最常用的 CSS 选择器用法,多加了一种, ...
- 突破css选择器的局限,实现一个css地址选择器?
首先看一个效果,注意地址栏的变化 然后思考一下,用css如何实现? css选择器的局限 选择器是css中的一大特色,用于选择需要添加样式的元素. 选择器的种类有很多,比如 元素选择器 p {color ...
- CSS选择器:#id和.class中间有空格和无空格的区别
相信大家都知道 .class1 .class2 和 .class1.class2 是两种不同的选择规则,但具体怎样不同呢? 首先中间有空格的情况:是选择到.class1类下的.class2类子节点,即 ...
- selenium元素定位之css选择器
在selenium元素定位时会用到css选择器选取元素,虽说xpath在定位元素时能解决大部分问题,但使用css选择器选取元素也是一种不错的选择. css相较与xpath选择元素优点如下: 表达式更加 ...
- 『心善渊』Selenium3.0基础 — 8、使用CSS选择器定位元素
目录 1.CSS选择器介绍 2.CSS选择器定位语法 3.Selenium中使用CSS选择器定位元素 (1)通过属性定位元素 (2)通过标签定位元素 (3)通过层级关系定位元素 (4)通过索引定位元素 ...
- 简易数据分析 15 | Web Scraper 高级用法——CSS 选择器的使用
这是简易数据分析系列的第 15 篇文章. 年末事情比较忙,很久不更新了,后台一直有读者催更,我看了一些读者给我的私信,发现一些通用的问题,所以单独写篇文章,介绍一些 Web Scraper 的进阶用法 ...
- CSS选择器、CSS hack及CSS执行效率
主要内容: 1.CSS选择器.优先级与匹配原理 2. CSS 引入的方式有哪些 ? link 和 @import 的区别是 ? 3.CSS hack 4.如何书高效CSS 一.CSS选择器.优先级与 ...
- CSS选择器以及优先级与匹配原理
最常用的五类CSS选择器 准确而简洁的运用CSS选择器会达到非常好的效果.我们不必通篇给每一个元素定义类(class)或ID,通过合适的组织,可以用最简单的方法实现同样的效果.在实际工作中,最常用的选 ...
- 如何利用CSS选择器抓取京东网商品信息
前几天小编分别利用Python正则表达式.BeautifulSoup.Xpath分别爬取了京东网商品信息,今天小编利用CSS选择器来为大家展示一下如何实现京东商品信息的精准匹配~~ CSS选择器 目前 ...
随机推荐
- svn 删除、移动和改名
删除.移动和改名 Subversion allows renaming and moving of files and folders. So there are menu entries for d ...
- Github开源人脸识别项目face_recognition
Github开源人脸识别项目face_recognition 原文:https://www.jianshu.com/p/0b37452be63e 译者注: 本项目face_recognition是一个 ...
- H3C 环路避免机制四:定义最大值
- CF1055F Tree and XOR
CF1055F Tree and XOR 就是选择两个数找第k大对儿 第k大?二分+trie上验证 O(nlognlogn) 直接按位贪心 维护可能的决策点(a,b)表示可能答案的对儿在a和b的子树中 ...
- SpringDataJPA+QueryDSL玩转态动条件/投影查询
在本文之前,本应当专门有一篇博客讲解SpringDataJPA使用自带的Specification+JpaSpecificationExecutor去说明如何玩条件查询,但是看到新奇.编码更简单易懂的 ...
- H3C端口角色的确定
- 初识Maven POM
POM Project Object Model项目对象模型定义了项目的基本信息,用于描述项目如何构建,申明项目依赖,等等. pom元素: <modelVersion>4.0.0</ ...
- Android 隐藏顶部菜单栏
Android 隐藏状态栏 在Activity中: getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 在fragmen ...
- monaco-editor使用
monaco-editor是一款非常好用的web代码编辑器,那么如何把他加到自己的项目中呢. 1.下载插件 npm install monaco-editor@0.8.3 2.初始化编辑器值 < ...
- Ubuntu安装微信,解决deepin“版本过低”或NO_PUBKEY问题
在搜索引擎搜索Ubuntu安装微信,最多的结果是通过deepin安装 但是里面使用的deepin-for-ubuntu 安装之后微信扫码会提示版本过低 直接安装deepin.com.wechat_2. ...