文章目录
selenium的八种元素定位方式有:id、name、class_name、tag_name、link_text、partial_link_text、xpath、css_selector,在具体的应用过程中,可以重点关注 id, name, xpath, 其中xpath的语法我会另外再发文单独说明。
八大元素定位方式
定位元素的目的一般有以下几种,一种是要操作这个对象;还有就是可能要获取对象的一些属性,比如说需要得到对象的 name 属性
、class 属性
等等。这些都会用到元素的定位, webdriver
提供了比较常用的 8 种元素定位方式。
- ID:通过元素的 id 定位 (前提条件 元素须有 id 属性,以下相同)
- NAME:通过元素的 name 定位
- Class Name:通过元素的 class name 属性定位
- Link Text:假如是 a 标签的话 可以使用 link text 来定位
- Partial Link Text:当 a 标签的内容非常长的话,可以通过 Partial Link Text 匹配部分内容来进行定位
- Tag Name:可以直接使用 Tag Name 定位标签来定位
- Xpath:可以使用 Xpath 元素路径来进行定位
- Css Selector:利用 css 选择器来定位
通过元素 id 定位
鉴于上述的定位方法一般情况下很少能够在一个页面上找齐,这里准备了一个本地的 html 页面,方便我们练习使用。
首先打开我们的本地 html 文件,通过查看页面的源码,可以看到 Email
输入框是具备 id
属性的,这里就可以通过 定位 元素id
的方式定位该元素,见下图:
元素 id 定位示例代码如下:
# coding:utf-8
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome() # 启动 Chrome浏览器的 driver
driver.maximize_window() # Chrome 浏览器最大化
driver.get('file:///Users/workspace/WEB_TEST_HTML/form.html') # 打开本地的 "form.html" 文件
sleep(2)
driver.find_element_by_id("inputEmail").click() # 通过 id 定位 id="inputEmail"的元素,执行点击操作。
sleep(1)
driver.quit()