因為用心,才會喜歡

粥雨

Selenium - 元素定位(3) - CSS进阶

Selenium - 元素定位


CSS 定位进阶

元素示例

image-20200623190307927


属性定位

# css 通过id属性定位
driver.find_element_by_css_selector("#kw")

# css 通过class属性定位
driver.find_element_by_css_selector(".s_ipt")

# css 通过标签属性定位
diver.find_element_by_css_selector("input")


其他属性定位

# css by autocomplete
driver.find_element_by_css_selector("[autocomplete='off']")

# css by type
driver.find_element_by_css_selector("[type='text']")


组合定位

# css 通过input标签与id属性的组合
driver.find_element_by_css_selector("input#kw")

# css 通过input标签与class属性组合
driver.find_element_by_css_selector("input.s_ipt")

# css 通过input标签与name属性组合
driver.find_element_by_css_selector("input[name='wd']")

# css 通过input标签与其它属性组合
driver.find_element_by_css_selector("input[autocomplete='off']")


文本定位

# css 通过标签与页面字符
driver.find_element_by_css_selector("input[text()=百度一下])
                                    

逻辑运算定位

# css 实现逻辑运算,同时匹配两个属性
driver.find_element_by_css_selector("[name='wd'][id='kw']")


层级关系定位

# css 通过层级关系定位
driver.find_element_by_css_selector("form#form>span>input")

# css 通过层级关系定位
driver.find_element_by_css_selector("form.fm>span>input")


索引下标定位

image-20200623190215362


# 选择第一个option
driver.find_element_by_css_selector("select#nr>option:nth-child(1)")

# 选择第二个option
driver.find_element_by_css_selector("select#nr>option:nth-child(2)")

# 选择第三个option
driver.find_element_by_css_selector("select#nr>option:nth-child(3)")

# 最后一个option
driver.find_element_by_css_selector("select#nr>option:last-child")


posted @ 2022-09-14 08:59  粥雨  阅读(82)  评论(0编辑  收藏  举报