等同于 tag名,不改变.
elements = wd.find_elements_by_css_selector('div')
elements = wd.find_elements_by_tag_name('div')
id值, 加上#: #id值
element = wd.find_element_by_css_selector('#searchtext')
element.send_keys('你好')
class值, 加上. : . class值
elements = wd.find_elements_by_class_name('animal')
elements = wd.find_elements_by_css_selector('.animal')
直接子元素,用 > ; 后代元素, 用 空格
元素1 > 元素2
元素1 元素2 元素3 元素4
除了tag名,id,class属性, 其他的属性,用一个方括号 []
element = wd.find_element_by_css_selector('[href="http://www.miitbeian.gov.cn"]')
print(element.get_attribute('outerHTML'))
其他:
1,
加上标签名的限制,比如 div[class='SKnet']
表示 选择所有 标签名为div,且class属性值为SKnet的元素。
2,
选择 属性值 包含
某个字符串 的元素,要选择a节点,里面的href属性包含了 miitbeian 字符串
a[href*="miitbeian"]
3,
选择 属性值 以某个字符串 开头
的元素,要选择a节点,里面的href属性以 http 开头
a[href^="http"]
4,
选择 属性值 以某个字符串 结尾
的元素,要选择a节点,里面的href属性以 gov.cn 结尾
a[href$="gov.cn"]
5,
一个元素具有多个属性
div[class=misc][ctype=gun]
6,其他案例
div.footer1 > span.copyright
.footer1 > .copyright
.footer1 .copyright
7 , 组选择
同时选择所有class 为 plant 和
class 为 animal 的元素,css选择器可以 使用 逗号
.plant , .animal
div , #BYHY
选择所有 id 为 t1 里面的 span 和 p 元素
#t1 > span , #t1 > p
8,是父元素的第几个子节点
使用 nth-child
span:nth-child(2)
选择的是 第2个子元素,并且是span类型
p:nth-last-child(1)
选择第倒数第1个子元素,并且是p元素
9, 是父元素的第几个 某类型的
子节点, 使用 nth-of-type
span:nth-of-type(1)
选择的是 第1个span类型
的子元素
p:nth-last-of-type(2)
父元素的 倒数第2个某类型
的子节点
p:nth-child(even)
父元素的 偶数节点
,使用 nth-child(even)
p:nth-child(odd)
父元素的 奇数节点
,使用 nth-child(odd)
父元素的 某类型偶数节点
,使用 nth-of-type(even)
父元素的 某类型奇数节点
,使用 nth-of-type(odd)
10,
表示元素 紧跟关系的 是 加号
h3 + span
选择 h3 后面紧跟着的兄弟节点
span
h3 ~ span
选择 h3 后面所有的兄弟节点
span