> WebUI自动化,**首先需要定位元素**,然后再进行各种事件操作。
> WebDriver 提供了一系列的API,提供给我们方便得定位元素。
> WebDriver类的源码位置:`selenium\webdirver\remote\webdirver.py`
通过源码分析,WebDriver中有一系列以`find_`开头的方法,都是用于元素定位。下面我们一一介绍这些定位的方法。
## 环境准备
首先创建一个hello.html页面,用于下面的演示
~~~
你好,世界!
用户名:
密码:
地区:
广州
佛山
茂名
襄樊
提交
~~~
在同个目录下创建一个`find_location.py`文件,初始化工作
~~~
from selenium import webdriver
import os
# 创建Chrome驱动实例
driver = webdriver.Chrome()
# 启动浏览器并且导航到指定URL
# 这里为了覆盖更多的元素定位,我自己编写了一个本地的hello.html文件。
file_path = 'file:///' + os.path.abspath('hello.html')
driver.get(file_path)
~~~
## 元素定位
### 通过class定位
`find_element_by_class_name(self, name):`
`find_elements_by_class_name(self, name):`
~~~
# 定位class名称为“head_title"的元素
head_title = driver.find_element_by_class_name("head_title")
print(head_title.text)
~~~
### 通过id定位
`find_element_by_id(