四、元素定位4.1 为什么要使用元素定位?要使用web自动化操作元素,必须首先找到此元素。4.2 定位工具火狐:Firebug (F12获取直接点击 Friebug图标)谷歌:F12键(开发者工具)4.3 定位元素时依赖于什么?1. 标签名2. 属性3. 层级4. 路径4.4 定位方式1. id2. name3. class_name(使用元素的class属性定位)4. teg_name(标签名称 <标签名 .../>)5. link_text(定位超连接 a标签)6. partial_link_text(定位超链接 a标签 模糊)7. xpath(基于元素路径)8. css(元素选择器)汇总:1. 基于元素属性特有定位方式(id\name\class_name)2. 基于元素标签名称定位:tag_name3. 定位超链接文本(link_text、partial_link_text)4. 基于元素路径定位(xpath)5. 基于选择器(css)id 定位:说明:1. 通过元素的id属性定位,id一般情况下在当前页面中是唯一。方法:driver.find_element_by_id(id)提示:元素必须要有id属性。案例:# 导包 # 获取浏览器驱动对象# 打开url # 查找用户名文本框# 查找密码框文本框# 输入用户名# 输入密码# 暂停3秒# 关闭驱动提示: 1. 输入方法:send_keys("输入内容");2. 退出浏览器驱动:driver.quit();3. 打开url: driver.get(url)4. 导包:from selenium import webdriver5. 获取火狐浏览器驱动对象 driver = webdriver.Firefox()name 定位: 说明:1. 通过元素的name属性来定位, name一般名称为重复。方法: drivr.find_element_by_name(name)提示: 元素必须要有name属性 class_name定位:说明: 1. 通过元素的class属性来定位,class属性一般为多个值。方法: driver.find_element_by_class_name()提示: 元素必须要有class属性提示: id: 一般为唯一标识符。name:可以重名class:多个命名。