博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python selenium之css定位
阅读量:5058 次
发布时间:2019-06-12

本文共 1617 字,大约阅读时间需要 5 分钟。

一、通过id定位

(1)#kw    定位id=kw的元素
(2)input#kw    定位id=kw的input标签元素
  python:driver.find_element_by_css_selector("input#kw")
  java:driver.findElement(By.cssSelector("input#kw"))   
  robotframework:css=input#kw

二、通过classname定位

在学习css的时候,应该都知道有两种选择器,一种是id选择器,一种是class类选择器,而id用#表示,类选择器用.(点)表示,所以别问我上面id定位的#是什么意思啊。知识点会比较多,所以基础还是比较重要的。
(1).s_ipt    定位class=s_ipt的元素
(2)class=bg s_ipt_wr quickdelete-wrap,类似这种叫复合class,由多个类选择器组成,定位的写法则是:.bg.s_ipt_wr.quickdelete-wrap,所有空格用.(点)代替

三、元素属性定位

(1)input[id=kw]
(2)input[class=s_ipt]
(3)input[id=kw][class=s_ipt]

  (4) a[href='baidu.com']

还支持模糊匹配的,主要是太长的属性值方便使用;以class=bg s_ipt_wr quickdelete-wrap举例:
(1)span[class ^=bg]    匹配所有span标签class属性值bg开头的元素
(2)span[class $=rap]    匹配所有span标签class属性值rap结尾的元素
(3)span[class *=quick]    匹配所有span标签class属性值中间有quick的元素

四、元素层级定位

1、子元素定位(>大于号)
(1)span>input    定位span标签下的input标签
(2)form>span>input    定位form标签下span标签下的input标签
以大于号>为分层,查找元素定位必须一层一层的以>往下写,有多个则匹配多个
2、后代元素(空格)
(1)span input   定位span下所有的input标签,包括span下的所有层次的input,注意不是span下一层的input,是所有

3 、根据兄弟元素定位时只能从上面的兄弟找下面的兄弟,如:css=p+li,写成li+p是不行的

(1)p+li 定位p元素同级下的所有li元素

4、元素层级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://blog.csdn.net/ouyanggengcheng/article/details/77197294

转载于:https://www.cnblogs.com/yuangushidai/p/10401713.html

你可能感兴趣的文章
HDU 1150 Machine Schedule (二分图最小点覆盖)
查看>>
Vue:axios中POST请求传参问题
查看>>
计算机 和python 基础
查看>>
H5小内容(四)
查看>>
HDU 5458 Stability (树链剖分+并查集+set)
查看>>
自定义URL Protocol 协议
查看>>
第五章 二叉树(e5)重构
查看>>
基于visual Studio2013解决算法导论之054图的邻接矩阵表示
查看>>
汇编实验三
查看>>
位运算实例
查看>>
java中关于String对象的解析
查看>>
Linux(二) 常用命令
查看>>
责任链模式
查看>>
一大盒子平均分为三个盒子
查看>>
VC++2012编程演练数据结构《34》树形选择排序
查看>>
Canvas--线条的属性
查看>>
.net集合类的研究--链表—ListDictionary,LinkedList<T>
查看>>
SQLite
查看>>
6、字符串
查看>>
算法训练 出现次数最多的整数
查看>>