元素定位就是通过元素的信息或元素层级结构来定位元素。要使用Web自动化操作元素,必须首先找到此元素。
1 元素定位方式
1.1 基于元素属性特有的定位方式
(1)id: element = driver.find_element_by_id(id)
id定位就是通过元素的id属性来定位元素,HTML规定id属性在整个HTML文档中必须是唯一的。
(2)name: element = driver.find_element_by_name(name)
name定位就是根据元素name属性来定位。HTML文档中name的属性值是可以重复的
(3)class_name: element = driver.find_element_by_class_name(class_name)
class_name定位就是根据元素class属性值来定位元素。HTML通过class来定义元素的样式。如果class有多个属性值,只能使用其中的一个。
1.2 基于元素标签名称定位
<span style="background-color:#f8f8f8"><span style="color:#333333">tag_name: element = driver.find_element_by_tag_name(tag_name)
</span></span>
tag_name定位就是通过标签名来定位,HTML本质就是由不同的tag组成, 每一种标签一般在页面中会存在多个,所以不方便进行精确定位,一般很少使用,如果存在多个相同标签,则返回符合条件的第一个标签。
1.3 基于超链接文本