cssSelector常⽤定位⽅法
1.  根据标签定位 tagName(定位的是⼀组,多个元素)
e.g:find_element_by_cssSelector("div")
2. 根据 id属性定位(注意id使⽤#表⽰)
e.g: find_element_by_cssSelector("#eleid")
e.g: find_element_by_cssSelector("div#eleid")cssclass属性
3. 根据className属性定位(注意class属性使⽤.)
e.g: find_element_by_cssSelector("div.eleclass")
4. 根据元素属性定位
4.1 精确匹配:
e.g: find_element_by_cssSelector("div[name=elename]")  #属性名=属性值,精确值匹配
e.g: find_element_by_cssSelector("a[href]") #是否存在该属性,判断a元素是否存在href属性
注意:如果 class属性值⾥带空格,⽤.来代替空格
4.2 模糊匹配
e.g: find_element_by_cssSelector("div[name^=elename]") #从起始位置开始匹配
e.g:  find_element_by_cssSelector("div[name$=name2]") #从结尾匹配
e.g: find_element_by_cssSelector("div[name*=name1]") #从中间匹配,包含
4.3 多属性匹配
e.g: find_element_by_cssSelector("div[type='eletype][value='elevalue']") #同时有多属性
e.g: find_element_by_cssSelector("div.eleclsss[name='namevalue'] #选择class属性为eleclass并且name为namevalue的div节点
e.g: find_element_by_cssSelector("div[name='elename'][type='eletype']:nth-of-type(1) #选择name为elename并且type为eletype的第1个div节点
5. 定位⼦元素 (A>B)
e.g: find_element_by_cssSelector("div#eleid>input") #选择id为eleid的div下的所有input节点
e.g: find_element_by_cssSelector("div#eleid>input:nth-of-type(4) #选择id为eleid的div下的第4个input
节点
e.g: find_element_by_cssSelector("div#eleid>nth-child(1)") #选择id为eleid的div下的第⼀个⼦节点
6. 定位后代元素 (A空格B)
e.g: find_element_by_cssSelector("div#eleid input") #选择id为eleid的div下的所有的⼦孙后代的 input 节点
e.g: find_element_by_cssSelector("div#eleid>input:nth-of-type(4)+label #选择id为eleid的div下的第4个input节点的相邻的label节点
e.g: find_element_by_cssSelector("div#eleid>input:nth-of-type(4)~label #选择id为eleid的div下的第4个input节点之后中的所有label节点
7. 不为
e.g: find_element_by_cssSelector("div#eleid>*.not(input)") #选择id为eleid的div下的⼦节点中不为input 的所有⼦节点
e.g: find_element_by_cssSelector("div:not([type='eletype'])") #选择div节点中type不为eletype的所有节点
8. 包含Bycontent
e.g: find_element_by_cssSelector("li:contains('Goa')") # <li>Goat</li>
e.g: find_element_by_cssSelector("li:not(contains('Goa'))) # <li>Cat</li>
9. by index
e.g: find_element_by_cssSelector("li:nth(5)")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。