selenimu--find_element_by_css_selector()方法汇总
一、单一属性定位
- type selector
driver.find_element_by_css_selector('input')
- id 定位
driver.find_element_by_css_selector('#kw')
- class定位
driver.find_element_by_css_selector('.s_ipt')
- 其他属性定位
driver.find_element_by_css_selector('[name='wd']')
driver.find_element_by_css_selector([type='text'])
二、组合属性定位
- id组合属性定位
driver.find_element_by_css_selector("input#kw")
- class组合属性定位
driver.find_element_by_css_selector("input.s_ipt")
- 其他属性组合定位
driver.find_element_by_css_selector("input[name='wd']")
- 仅有属性名,没值也可以
driver.find_element_by_css_selector("input[name]")
- 两个其他属性组合定位
driver.find_element_by_css_selector("[name='wd'][autocomplete='off']")
- 模糊匹配属性值方法
以百度首页点击按钮为例
1>属性值由多个空格隔开,匹配其中一个值的方法
driver.find_element_by_css_selector("input[class~='btn']")
2>匹配属性值为字符串开头的方法
driver.find_element_by_css_selector("input[class^='btn']")
3>匹配属性值字符串结尾的方法
driver.find_element_by_css_selector("input[class$='s_btn']")
4>匹配被-分割的属性值的方法,如上图的class
driver.find_element_by_css_selector("input[class|='s']") #要求精确填写的属性值
三、层次定位
1:E>F E下面的F这个元素
driver.find_element_by_css_selector('from#form>span>input')#id是form的form下面的span下面的input
2:E:nth-child(n) 如上图,
driver.find_element_by_css_selector('#u_sp > a:nth-child(1)')#id为u_sp的下面的第一个a标签。
3:E:nth-last-child(n),如字面意思:倒数第几个标签
4:E:first-child,第一个标签
5:E:last-child,最后一个标签
6:E:only-child,唯一的标签
参考博客:https://www.cnblogs.com/haifeima/p/10138154.html
最新文章
- js日期相关
- [原创]MySQL RR隔离级别下begin或start transaction开启事务后的可重复读?
- [skill] C++ delete VS delete []
- RML Utilities for SQL Server
- ORACLE clusterware组成
- [Angular 2 Router] Configure Your First Angular 2 Route
- 关于InputStream 和String对象之间的相互转换
- Java [Leetcode 206]Reverse Linked List
- mybatis系列-13-resultMap总结
- vim下使用YouCompleteMe实现代码提示、补全以及跳转设置
- iOS 自定义导航栏笔记
- Eclipse常用快捷键大全
- 用户登陆注册【JDBC版】
- Python 爬虫练习(三) 利用百度进行子域名收集
- SLAM for dummies中文翻译
- Linux - 文件和目录常用命令
- 【emotion】目标初定
- Excel之批量改变特定字体颜色(转载)
- 翻译二--创建一个Web测试计划
- iOS开源项目:JSONKit