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标签这三个属性 ...
随机推荐
- 《Pro Git》第3章 分支
1.分支简介 git保存的不是文件的差异,而是不同时刻的文件快照 git仓库中的对象: commit对象:包含指向前一个commit的指针的所有提交信息 树对象:记录目录结构和blob对象索引 blo ...
- Oauth2.0认证原理
Oauth2.0 认证协议 Oauth2.0 应用场景: 微信联合登录 授权管理 互联网开放平台互相调用保证安全 微信提供api 给toov5调用 然后就可以获取一些微信的信息 比如微信 ...
- Android -- listview的使用, Inflater打气筒创建View对象,三种数据Adapter
1. 代码示例,( 数据库来源上篇的数据) MainActivity.java public class MainActivity extends Activity { private ListVie ...
- JavaWeb -- Struts2 构建视图:标签和结果, UI组件标签
1. 示例 action 注入数据 和 处理action /** * OgnlAction */ public class UiAction extends ActionSupport { priva ...
- RabbitMQ 之 WorkQueues工作队列
模型图 为什么会出现 work queues? 前提:使用 simple 队列的时候 (上一篇博客)我们应用程序在是使用消息系统的时候,一般生产者 P 生产消息是毫不费力的(发送消息即可),而消费者接 ...
- 十二道MR习题 - 2 - 多文件保存
题目: 需要将MR的执行结果保存到3个文件中,该怎么做. 又是一个送分题. 对于Hadoop的MapReduce来说只需要设置一下reduce任务的数量即可.MR的Job默认reduce数量是1,需要 ...
- linux下如何上传和下载文件
一. 安装工具包rz及sz lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,可以用在windows与linux 系统之间的文件传输,体积小速度快 yum install -y ...
- Xcode 8 GM 编译缺失 /Users/usr/lib/libresolv.9.dylib
原因是操作系统的文件与手机需要的不同. 解决办法是将iOS DeviceSupport里当前手机版本的Symbols的libresolv.9.dylib文件,代替编译失败项目的Build Phases ...
- 三十三 Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)
Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数值. 该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 stats ...
- LCS 的 NlogN作法
这个算法其实是因为LIS有NlogN的作法,把LCS转化为了LIS来做. 对于序列A{},B{},我们可以记录下来B中的每个元素在A中出现的位置,按顺序保存在一个新序列当中, 如果有多个位置按倒序写, ...