组合定位
# 标签名称
# browser.find_element_by_css_selector('button')
# id属性
# browser.find_element_by_css_selector('#id')
# class 属性
# browser.find_element_by_css_selector(‘.class’)
# name 属性 或者其他属性
# browser.find_element_by_css_selector('[name = 'username']')
# browser.find_element_by_css_selector('[placeholder = 'username']')
# 组合定位
# 1标签名称和id属性组合
# browser.find_element_by_css_selector('button#id')
# 标签名称和class属性组合
# browser.find_element_by_css_selector('button.class')
# 标签名称和其他属性组合
# browser.find_element_by_css_selector('button[name = 'username']')
# browser.find_element_by_css_selector('button[placeholder = 'username']')
# 只有属性名称
# browser.find_element_by_css_selector('div[id]')
# 两个属性值组合定位
# browser.find_element_by_css_selector('[name][type='text']')
# 模糊匹配
# 匹配属性值为某字符串开头的方法
# browser.find_element_by_css_selector('[class ^='te']')
# 匹配属性值为某字符串结尾的方法
# browser.find_element_by_css_selector('[class $='te']')
# 匹配属性值包含某字符串的方法
# browser.find_element_by_css_selector('[class *='te']')
# 层级定位
# browser.find_element_by_css_selector('li#muti_moudle>a>span')
# browser.find_element_by_css_selector('li#muti_moudle>li:nth-child(2)')
# 第一个是标签E
# browser.find_element_by_css_selector('li#muti_moudle>li:first-child')
# 倒数第N个是E标签
browser.find_element_by_css_selector('li#muti_moudle>li:nth-last-child(N)')
# 单一属性、组合定位、模糊匹配、层级定位