selenium - css 定位
前言:
CSS(Cascading Style Sheets)是一种语言,它被用来描述 HTML 和 XML 文档的表现。
CSS 使用选择器来为页面元素绑定属性。这些选择器可以被 selenium 用作另外的定位策略。
来看一下css的选择器:

- 更多css选择器内容请点击链接:http://www.w3school.com.cn/cssref/css_selectors.asp
一、通过常用属性定位

# 1.通过id定位,#代表id属性
driver.find_element_by_css_selector("#username").send_keys("python")
# 2.通过class定位,.代表class属性
driver.find_element_by_css_selector(".ml-46").send_keys("selenium")
# 3.通过name定位
driver.find_element_by_css_selector("[name='username']").send_keys("selenium")
二、通过常用属性定位,比如:input标签等
# 4.通过标签定位
driver.find_element_by_css_selector("input").send_keys("selenium")
三、通过多属性组合定位,通过id和class属性,中间不用and,比xpath语法简洁
# 5.通过多属性组合定位
driver.find_element_by_css_selector("[id='username'][class='ml-46']").send_keys(132)
# 6.通过其他属性定位
driver.find_element_by_css_selector("[type='text']").send_keys("selenium")
四、通过层级关系-索引

# 7.通过层级关系-索引,:nth-child(1)表示第一个
driver.find_element_by_css_selector("select#ad_type>option:nth-child(1)").click()
css定位更快,语法更简洁。这里只是css定位中的一些,还有很多其他的css定位方法,有空可以去研究研究
selenium - css 定位的更多相关文章
- Selenium CSS定位语法
大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css的定位 ...
- selenium css定位元素
CSS 选择器: 常见符号: #表示 id选择器 .表示 class选择器 >表示子元素,层级 一个空格也表示子元素,但是是所有的后代子元素,相当于 xpath 中的相对路径 一.css:属性定 ...
- selenium css定位方式
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- selenium之css定位小结
前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css ...
- 自动化测试-6.selenium的css定位
前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css ...
- selenium之css定位
实在记不住,烂笔头就记一下吧. 一. 单一属性定位 1:type selector driver.find_element_by_css_selector('input') 2:id 定位 drive ...
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)
跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活定位不到,这个时候就需要自己学会动手写xpath,人脑总比电脑聪明,开始把xpath语法给我 ...
- Selenium 详解CSS定位
xpath定位是“屠龙刀”,那CSS定位就是"倚天剑了",相对xpath来说,具有语法简单,定位速度快等优点 一.属性定位 1.可以通过元素的id,class,tag标签这三个属性 ...
随机推荐
- xcode9打包问题
xcode9打包找不到icon http://blog.csdn.net/yohunl/article/details/78065656 换用xcode8打包 https://www.cnblogs. ...
- AI理论学习笔记(一):深度学习的前世今生
AI理论学习笔记(一):深度学习的前世今生 大家还记得以深度学习技术为基础的电脑程序AlphaGo吗?这是人类历史中在某种意义的第一次机器打败人类的例子,其最大的魅力就是深度学习(Deep Learn ...
- mysql DATE_FORMAT 年月日时分秒格式化
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')
- 2.scala控制结构、函数、异常处理
2.scala控制结构.函数.异常处理---小书匠,在线编辑器,MARKDOWN,Evernote,文件版本 a:focus { outline: thin dotted #333; outline: ...
- geoserver源码学习与扩展——CSV转shapefile文件
基于geotools实现csv转换为shapefile文件. 1.读取CSV文件,将其装入FeatureCollection: 2.利用ShapefileDumper类将FeatureCollecti ...
- Python流程控制与函数
if >>> x = int(raw_input("Please enter an integer:")) Please enter an integer:42 ...
- js进阶---12-11、jquery如何给动态创建出来的元素绑定事件
js进阶---12-11.jquery如何给动态创建出来的元素绑定事件 一.总结 一句话总结:通过事件委托的方式,通过on方法 1.on方法在事件绑定的时候,data方式带额外参数时,字符串参数和其它 ...
- .NET、C#和ASP.NET三者之间的区别与联系
.NET.C#和ASP.NET三者之间的区别与联系 1..net(dot net) .net是一个平台,抽象的平台概念. 实现形式是库:①定义了基本的类型(通用类型系统CTS,common type ...
- javascrip函数简单介绍
JavaScript 函数定义JavaScript 使用关键字 function 定义函数.函数可以通过声明定义,也可以是一个表达式.函数声明在之前的教程中,你已经了解了函数声明的语法 :functi ...
- MVVM4
原地址(内容更丰富):http://www.cnblogs.com/888h/category/269092.html MVVM架构的简单解析 图1 View.ViewModel.Model之间的 ...