Python Selenium 自动化测试入门指南:从环境搭建到实战示例

### 一、什么是 Selenium?

Selenium 是一个用于 Web 应用程序自动化测试的强大工具,它支持多种编程语言,包括 Python、Java、C# 等。Python 作为一门简洁易学的语言,结合 Selenium 可以实现高效的自动化测试和网页爬虫功能。

本文将带你从零开始,使用 Python 编写 Selenium 自动化测试脚本,涵盖基础操作、元素定位、浏览器控制等内容。

### 二、环境准备

#### 安装 Selenium

使用 pip 安装 Selenium:

“`bash
pip install selenium
“`

#### 安装浏览器驱动

Selenium 需要配合浏览器驱动来操作浏览器,常见的浏览器驱动有:

– Chrome: [ChromeDriver](https://sites.google.com/chromium.org/driver/)
– Firefox: [GeckoDriver](https://github.com/mozilla/geckodriver)
– Edge: [EdgeDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)

将下载的驱动添加到系统 PATH,或在代码中指定路径。

### 三、第一个 Selenium 脚本

下面是一个简单的 Selenium 脚本,用于打开百度首页并搜索关键词:

“`python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# 创建浏览器对象(以 Chrome 为例)
driver = webdriver.Chrome()

# 打开百度
driver.get(“https://www.baidu.com”)

# 查找搜索框并输入关键词
search_box = driver.find_element(By.ID, “kw”)
search_box.send_keys(“Selenium 自动化测试”)

# 提交搜索
search_box.send_keys(Keys.RETURN)

# 等待页面加载
time.sleep(3)

# 打印当前页面标题
print(“页面标题:”, driver.title)

# 关闭浏览器
driver.quit()
“`

### 四、常用操作详解

#### 1. 元素定位方式

| 定位方式 | 示例 | 说明 |
|———-|——|——|
| ID | `find_element(By.ID, “username”)` | 推荐优先使用 |
| NAME | `find_element(By.NAME, “password”)` | |
| CLASS_NAME | `find_element(By.CLASS_NAME, “login-btn”)` | |
| CSS_SELECTOR | `find_element(By.CSS_SELECTOR, “input[type=’text’]”)` | |
| XPATH | `find_element(By.XPATH, “//div[@id=’content’]/p”)` | 强大但易受页面结构变化影响 |

#### 2. 浏览器操作

– 最大化窗口:`driver.maximize_window()`
– 设置窗口大小:`driver.set_window_size(1024, 768)`
– 切换标签页:`driver.switch_to.window(window_name)`
– 执行 JavaScript:`driver.execute_script(“window.scrollTo(0, document.body.scrollHeight);”)`

#### 3. 显式等待 vs 隐式等待

“`python
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 显式等待某个元素出现
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, “result”))
)
“`

### 五、实战案例:模拟登录 GitHub

“`python
driver = webdriver.Chrome()
driver.get(“https://github.com/login”)

# 输入用户名
driver.find_element(By.ID, “login_field”).send_keys(“your_username”)

# 输入密码
driver.find_element(By.ID, “password”).send_keys(“your_password”)

# 提交登录
driver.find_element(By.NAME, “commit”).click()

# 等待跳转
WebDriverWait(driver, 10).until(
EC.title_contains(“GitHub”)
)

print(“登录成功!当前页面标题:”, driver.title)
“`

### 六、注意事项

– **元素定位尽量使用 ID 或 NAME**,减少页面结构变化的影响。
– 使用 `显式等待` 替代 `time.sleep()`,提高脚本稳定性和效率。
– 测试完成后记得调用 `driver.quit()` 关闭浏览器。
– 可结合 `pytest`、`unittest` 等测试框架进行结构化测试。

### 七、总结

Selenium 是 Python 自动化测试中不可或缺的工具,无论是用于 UI 测试、数据采集还是自动化任务,都能发挥重要作用。掌握其基本操作和高级技巧,能显著提升测试效率和代码质量。

如果你正在学习自动化测试,Selenium + Python 是一个非常值得投入的方向!

购买须知/免责声明
1.本文部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
2.若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
3.如果本站有侵犯、不妥之处的资源,请在网站右边客服联系我们。将会第一时间解决!
4.本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习,不存在任何商业目的与商业用途。
5.本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
6.不保证任何源码框架的完整性。
7.侵权联系邮箱:aliyun6168@gail.com / aliyun666888@gail.com
8.若您最终确认购买,则视为您100%认同并接受以上所述全部内容。

海外源码网 源码资讯 Python Selenium 自动化测试入门指南:从环境搭建到实战示例 https://moyy.us/20096.html

相关文章