1.选择元素基本方法
1.1根据id属性选择元素
wd.find_element_by_id(‘kw’)
1.2根据class属性选择元素
wd.find_elements_by_class_name(‘animal’)
1.3根据tag名选择元素
wd.find_elements_by_tag_name(‘div’)
CSS选择器选择元素
1.根据 tag名选择元素
选择 所有的tag名为div的元素:
wd.find_elements_by_css_selector(‘div’)
等价于:
wd.find_elements_by_tag_name(‘div’)
2.根据id属性选择元素
wd.find_element_by_css_selector(’#kw’)
3.根据class属性选择元素
在 class 值 前面加上一个点: .class值
wd.find_element_by_css_selector(’.plant)
4.选择子元素和后代元素
选择子元素
其中,id='layer1’是id='container’的直接子元素,表达式为:元素1 > 元素2
wd.find_element_by_css_selector(#container > #layer1)
选择后代元素
其中,id='layer1’是id='container’的直接子元素,也是后代子元素
id='inner12’是id='container’的后代子元素,表达式为:元素1 元素2
wd.find_element_by_css_selector(#container #inner12)
5.根据标签和属性名选择元素
选择属性值包含全部字符串的元素
wd.find_element_by_css_selector(‘a[href=“http://www.miitbeian.gov.cn”]’)
选择 属性值 以某个字符串 开头 的元素
a[href^=“http”]
还可以 选择 属性值 以某个字符串 结尾 的元素
a[href$=“gov.cn”]
6.一个元素具有多个属性
div[class=misc][ctype=gun]
7.组选择
同时选择所有class 为 plant 和 class 为 animal 的元素:
wd.find_elements_by_css_selector(’.plant , .animal’)
同时选择所有tag名为div的元素 和 id为BYHY的元素
wd.find_elements_by_css_selector(‘div,#BYHY’)
8.按次序选择子节点
父元素的第n个子节点
该元素位于父节点的第2个子节点,表达式为:
wd.find_element_by_css_selector(‘span:nth-child(2)’)
该节点位于父节点的倒数第4个子节点,表达式为
wd.find_element_by_css_selector(‘span:nth-last-child(4)’)
父元素的第n个某类型的子节点
该元素是其父元素的第2个标签为p的子元素,表达式为:
wd.find_element_by_css_selector(‘p:nth-of-type(2)’)
该元素是其父元素的倒数第1个标签为p的子元素,表达式为:
wd.find_element_by_css_selector(‘p:nth-of-last-type(2)’)
9.兄弟节点选择
相邻兄弟节点选择
选择所有标签是span紧挨的相邻兄弟节点p,则表达式为
wd.find_elements_by_css_selector(‘span + p’)
后续所有兄弟节点选择
选择 h3 后面所有的兄弟节点 span
h3 ~ span