以百度为例

一、通过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下的第二个元素

转载于:https://www.cnblogs.com/gxfaxe/p/10276322.html

python slenium 中CSS定位相关推荐

  1. python文件定位函数_C语言中文件定位函数总结

    C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...

  2. 【CSS3】CSS中的定位

    一.css定位 CSS position 属性值: absolute:生成绝对定位的元素,脱离文档流,相对于 static 定位以外的第一个父元素进行定位.元素的位置通过 "left&quo ...

  3. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  4. CSS中Position定位属性的使用

    文章目录 CSS中定位属性的使用 position:absolute position:relative position:fixed position:sticky position:static ...

  5. 深入理解CSS定位中的偏移

    前面的话 CSS有三种基本的布局机制:普通流.浮动和绝对定位.利用定位,可以准确地定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置.但元素究竟如何定位,定 ...

  6. php css定位到图片上,CSS_浅谈css中图片定位之所有图标放在一张图上,如今做网页为了使网站丰富多 - phpStudy...

    浅谈css中图片定位之所有图标放在一张图上 如今做网页为了使网站丰富多彩,富于表现力,往往需要应用大量的图片/图标.如何处理这些图片,使其尽量不影响网页载入,解析等速度,是一个不大不小的问题.如果你的 ...

  7. CSS中固定定位、相对定位、绝对定位以及flex布局高效定位

    CSS中固定定位.相对定位.绝对定位以及flex布局高效定位 一.固定布局 将元素固定到一个位置,不管屏幕怎样移动,元素的位置不移动. <style>body {height: 3000p ...

  8. css定位的百分比的算法,css定位中的百分比

    ----转载自自己在牛人部落中的相关文章--- 在前端css定位中经常面对的一个问题是,百分比定位究竟是针对于谁定位? 一.margin,padding的百分比 首先从css的设计意图说起,在浏览器默 ...

  9. CSS中的定位——position属性

    CSS定位指的是 改变元素在页面中的位置. CSS定位机制: 普通流:元素按照其在HTML中的位置顺序决定排布的过程(也就是我不对元素进行定位的默认排布) 浮动 绝对布局 CSS定位包含的属性有: 属 ...

最新文章

  1. 中招!330 万台老年机被植木马,背后黑幕细思极恐
  2. EPANET头文件解读系列7——MEMPOOL.H
  3. 在面试中如何展示虚拟机和内存调优技能
  4. Caffe源码解析4: Data_layer
  5. 互联网晚报 | 12月14日 星期二 | “植发第一股”雍禾医疗登陆港交所;商汤科技将延迟上市;“拍照搜题”等作业APP暂时下线...
  6. 研究生学习阶段时间安排
  7. 王思聪又双被限制消费了!
  8. 创建线程的两种方式:继承Thread类和实现Runnable接口
  9. matlab计算系统过渡过程时间,MATLAB在电机拖动拖动系统过渡过程分析中的应用
  10. Spring Roo 之 Mysql 连接
  11. 稀疏矩阵乘法运算(C语言)
  12. 2020.10期权合约产品研究报告 | TokenInsight
  13. 小麦苗的常用代码--常用命令(仅限自己使用)
  14. 【数字信号处理】基于DFT的滤波系列4之加窗(含MATLAB代码)
  15. 压力测试TPS总是上不去
  16. PCB工程的BOM表设置隔行隔列显示不同颜色操作方法
  17. 修改手机屏幕刷新率_手机屏幕刷新率真的越高越好吗?
  18. [idea遇到的坑] - Cannot load settings from file[xxxx/xxxx]
  19. three.js 相对坐标的设置
  20. 使用Locust进行性能测试,Locust启动失败

热门文章

  1. Web.xml 文件与server.xml 文件使用总结
  2. request对象学习
  3. GRPC java实现demo
  4. 怎么重写MDK(KEIL)Flash烧写程序
  5. Conan and Agasa play a Card Game
  6. 第5周实践项目2 链栈的算法库建立
  7. 判断三维坐标系旋转正方向的简单方法
  8. 在.NET2.0中如何更简单的使用委托将方法加载到事件中去
  9. ajax不能设置哪些header
  10. mysql 主从单库单表同步 binlog-do-db replicate-do-db