python slenium 中CSS定位
以百度为例
一、通过id、class定位
1、#id:python:driver.find_element_by_css_selector('input#kw')
2、.class:python:driver.find_element_by_css_selector('input.s_ipt')
注:class='bg s_ipt_wr quickdelete-wrap',类似这种叫复合class,由多个类选择器组成,定位的写法则是:.bg.s_ipt_wr.quickdelete-wrap,所有空格用.(点)代替
二、其他属性
使用其他属性定位,如name,type。。。
python:driver.find_element_by_css_selector('input[name="wd"]')
如果属性没有值,也可以使用
python:driver.find_element_by_css_selector('input[name]')
三、模糊匹配,定位百度输入框
匹配属性值由多个空格隔开,匹配其中一个值:input[class~='bg'] # 百度搜索按钮:class='bg s_btn'
匹配属性值为 'bg' 开头的方法:python:driver.find_element_by_css_selector("input[class^='bg']")
匹配属性值 ‘ipt’ 结尾的方法:python:driver.find_element_by_css_selector("input[class$='ipt']")
匹配属性值中间有 '_i' 的元素:python:driver.find_element_by_css_selector("input[class*='_i']")
四、组合属性定位
1、input#id.class[name='wd']
2、多个属性组合input[name][autocomplete]
五、层级定位
1、子元素定位(以 > 分隔)
form>span#id>input[name]
2、后代元素定位(以空格分隔)
span input :定位span下所有的input标签,包括span下的所有层次的input,注意不是span下一层的input,是所有
3、元素层级css还支持三个方法,分别是first-child、last-child、nth-child(n)
(1)first-child:第一个后代元素
(2)last-child:最后一个后代元素
(3)nth-child(N):指定第N个后代元素
下面举例:
(1)input:first-child 定位所有层次第一个为input的元素,注意是第一个元素为input标签的
(2)span input:first-child 定位span标签下,第一个为input标签的元素
(3)span :last-child 定位span标签下,最后一个元素
(4)span input:last-child 定位span标签下,最后一个为input标签的元素
(5)span :nth-child(2) 定位span标签下,第二个元素
(6)form.fm>:nth-child(2) 定位form标签,class等于fm下的第二个元素
python slenium 中CSS定位的更多相关文章
- python selenium之CSS定位
ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快 css的缺点:css不支持用逻辑运算符来定位,而xpath支持.css定位语法形式多样,相对xpath比较难记. css ...
- selenium+python自动化之CSS定位
一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class ...
- python selenium模块 css定位
selenium是python的非标准库,使用时需要下载安装 安装命令 pip install selenium selenium是python的自动化测试模块,可以模拟浏览器的行为 所以在使用之前 ...
- selenium中CSS选择器定位
selenium元素定位,CSS选择器定位效率会高很多. CSS选择器用于选择你想要的元素的样式的模式.表格摘自“菜鸟教程”,具体用法可去查阅 选择器 示例 示例说明 CSS .class .intr ...
- 深入理解CSS定位中的偏移
× 目录 [1]定位 [2]包含块 [3]偏移属性[4]绝对定位[5]格式化 [6]auto 前面的话 CSS有三种基本的定位机制:普通流.浮动和绝对定位.利用定位,可以准确地定义元素框相对于其正常位 ...
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- 对css中的定位属性postion刨根解牛
定位的基本思想很简单: 它允许你定义元素框相对于其正常位置应该出现的位置(relative),或者相对于父元素(absolute).另一个元素甚至浏览器窗口本身的位置(fixed).显然,这个功能非常 ...
- 【转】深入理解CSS定位中的偏移
前面的话 CSS有三种基本的定位机制:普通流.浮动和绝对定位.利用定位,可以准确地定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置.但元素究竟如何定位,定 ...
- CSS中的定位与浮动
CSS中的定位与浮动 本文主要讲述CSS中的三种定位样式static.relative和absolute的区别以及浮动元素的特征. 定位样式 CSS中定位样式position的取值有三个,默认值:st ...
随机推荐
- 论文笔记——An online EEG-based brain-computer interface for controlling hand grasp using an adaptive probabilistic neural network(10年被引用66次)
题目:利用自适应概率网络设计一种在线脑机接口楼方法控制手部抓握 概要:这篇文章提出了一种新的脑机接口方法,控制手部,系列手部抓握动作和张开在虚拟现实环境中.这篇文章希望在现实生活中利用脑机接口技术控制 ...
- vue 项目搭建步骤
环境搭建步骤: 打开git ,运行 npm install --global vue-cli 这是安装vue的命令行 vue init webpack vue-demo 这是vue基于webpack的 ...
- linux自动备份lampp的日志
要求是:每天23:59自动备份lampp的日志/opt/lampp/logs/access_log 放到这个目录下/tmp/bak 命名格式:access_log.日期 1.新建shell脚本#vi ...
- centos 安装 crontab 和 简单的使用教程
crontab是一个非常好用的定时执行任务的程序.以下是操作方式 1. 安装 cron 的 主程序 : yum -y install vixie-cron 2. 安装 cron 守护进程的表格的程序 ...
- pymongo中的连接操作:Connection()与MongoClient()
class MongoClient(pymongo.common.BaseObject) Connection to MongoDB. Method resolution order: MongoCl ...
- linux下目录简介——/proc
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...
- C# 如何保证对象线程内唯一:数据槽(CallContext)【转载】
如果说,一个对象保证全局唯一,大家肯定会想到一个经典的设计模式:单例模式,如果要使用的对象必须是线程内唯一的呢? 数据槽:CallContext,ok看下msdn对callcontent的解释. Ca ...
- 18.13 Uboot分析与移植
18.13.1 使用JLink烧写Nor Flash JLink只支持烧写NOR Flash,不支持烧写Nand Flash. 1.准备工作:JLink的USB口接到电脑上,JLink的JTAG口用排 ...
- xml和java对象互转:JAXB注解的使用详解
先看工具类: import org.slf4j.Logger; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; ...
- mysql 设置初始密码
mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用 mysqladmin -uroot -p"123&quo ...