selenium_css定位详解

先顺便总结下常用定位的优先级:
(1)有id点id
(2)有文本值用文本值
xpath=“//a[text()=‘新闻’]” > 文本值是新闻的元素
xpath=”//a[contains(text(),‘新闻’)]” > 文本值包含新闻的元素
(3)link_text()
(4)CSS定位
(5)定位半天不出来??? >>> 右键xpath试下
(6)还不出来??? >>> js定位试下

css定位总结:

一:单一属性定位
1、id 定位
driver.find_element_by_css_selector(’#kw’)
2、class 定位
driver.find_element_by_css_selector(’.s_ipt’)
3、其他属性定位
driver.find_element_by_css_selector(’[name=‘wd’]’)
driver.find_element_by_css_selector("[type=‘text’]")
二:组合属性定位
1:标签、id
driver.find_element_by_css_selector(“input#kw”)
2、标签、class
driver.find_element_by_css_selector(“input.s_ipt”)
3:标签、属性
driver.find_element_by_css_selector(“input[name=‘wd’]”)
5:属性、属性
driver.find_element_by_css_selector("[name=‘wd’][autocomplete=‘off’]")
6:模糊匹配属性值方法
(1)class有空格,匹配其中一个值
driver.find_element_by_css_selector(“input[class~=‘btn’]”)
(2)class以btn开头的
driver.find_element_by_css_selector(“input[class^=‘btn’]”)
(3)class以s_btn结尾的
driver.find_element_by_css_selector(“input[class$=‘s_btn’]”)
(4)class值以s分割的
driver.find_element_by_css_selector(“input[class|=‘s’]”) #要求精确填写的属性值
三:层级定位
(1)form下面的span下面的input
driver.find_element_by_css_selector(‘from#form>span>input’)
(2)#id为u_sp的下面的第x个a标签。
driver.find_element_by_css_selector(’#u_sp > a:nth-child(x)’)

猜你喜欢

转载自blog.csdn.net/weixin_45451320/article/details/115101192