硒定位元素法
在上一节中,我们学习了如何使用浏览器来查找网页元素。本节主要讲述

告诉Selenium什么是网页元素,让它自动控制网页。

Selenium主要通过元素的属性值或者元素在HTML中的路径位置来定位网页元素。有八种定位方法:
#登录由属性id和名称实现1)find _ element _ by _ id2)find _ element _ by _ name #定位由HTML标签类型和属性类实现3)find _ element _ by _ class _ name 4)find _ element _ by _ tag _ name #定位由标签值实现,partial_link用于模糊匹配。5)Find _ element _ by _ link _ text 6)Find _ element _ by _ partial _ link _ text #元素路径定位器7)Find _ element _ by _ XPath 8)Find _ element _ by _ cass _ selector
我们把八种定位方式分为四组,分组标准是基于每种定位方式的优缺点。具体说明如下:
find_element_by_id和find_element_by_name分别由元素属性id和名称的属性值定位。如果被定位的元素没有属性id或名称,则不能使用这种定位方法。通常,在网页中,元素的id或名称的属性值是唯一的。如果多个元素具有相同的id或名称,这种定位方法只能定位第一个元素。
find_element_by_class_name和find_element_by_tag_name分别由元素属性类和元素标记类型定位。在一个网页中,属性类的属性值可以被多个元素使用,同一个元素标签可以被多次使用。正因为如此,这两种定位方法都只能定位到第一个满足条件的元素。
根据标签值定位find_element_by_link_text和find _ element _ by _ partial _ link _ text。比如点开豆瓣电影网的列表,通过网页的文字定位元素。如果web页面中的文本不是惟一的,那么Selenium也是默认的第一个合格元素。
find_element_by_xpath和find_element_by_css_selector由xpath和css_selector定位,xpath和css_selector是一个定位选择器,通过标签的路径实现定位。标签的路径是指当前标签在整个HTML代码中的代码位置,比如框中的第二个标签和嵌套标签。那么路径就是body-> p [1]-> p,这种定位方式比之前的定位更准确,因为每个标签的路径都是唯一的。


