UI自动化:Python + Selenium4.6+版本 环境搭建

以下是 Python + Selenium 4.12+ 环境搭建 的详细步骤(无需手动下载浏览器驱动,利用 Selenium Manager 自动管理驱动):


1. 安装 Python

1.1 下载并安装 Python

1.2 验证 Python 安装

bash

复制

bash 复制代码
python --version  # 输出 Python 版本(如 Python 3.10+)
pip --version     # 输出 pip 版本

2. 安装 Selenium

2.1 安装最新版 Selenium

bash

复制

bash 复制代码
pip install selenium --upgrade  # 确保版本 ≥4.12.0

2.2 验证 Selenium 版本

bash

复制

bash 复制代码
pip show selenium  # 确认版本为 4.12+

3. 自动管理浏览器驱动(Selenium Manager)

Selenium 4.6+ 开始内置 Selenium Manager,能自动检测浏览器版本并下载匹配的驱动,无需手动操作!


4. 编写测试脚本

示例代码(以 Chrome 为例)

python

复制

python 复制代码
from selenium import webdriver

# 无需指定驱动路径,Selenium Manager 自动处理!
driver = webdriver.Chrome()  # 自动下载 chromedriver
driver.get("https://www.baidu.com")
print(driver.title)  # 输出页面标题
driver.quit()

支持的浏览器

  • Chromewebdriver.Chrome()

  • Firefoxwebdriver.Firefox()

  • Edgewebdriver.Edge()

  • Safariwebdriver.Safari()(仅 macOS)


5. 运行脚本

bash

复制

bash 复制代码
python test_selenium.py

首次运行效果

  1. Selenium Manager 自动检测本地浏览器版本。

  2. 下载对应的浏览器驱动(如 chromedriver)。

  3. 驱动默认保存路径:

    • Windows%USERPROFILE%\.cache\selenium\

    • macOS/Linux~/.cache/selenium/


6. 验证是否成功

  • 成功标志:自动打开浏览器并访问页面,无报错。

  • 失败排查

    • 确保浏览器已安装(如 Chrome/Firefox)。

    • 检查网络是否可访问国外资源(驱动默认从官方源下载)。

    • 若自动下载失败,可手动指定驱动路径(见下文备用方案)。


7. 进阶配置(可选)

7.1 自定义驱动缓存路径

通过环境变量指定驱动缓存位置:

bash

复制

bash 复制代码
# Windows
set SE_CACHE_PATH=C:\my_drivers

# macOS/Linux
export SE_CACHE_PATH=/path/to/my_drivers

7.2 手动指定浏览器路径

若浏览器未安装在默认位置:

python

复制

python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = "C:/Program Files/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(options=options)

8. 常见问题

Q1:自动下载驱动失败

  • 原因 :网络无法访问 https://googlechromelabs.github.io/chrome-for-testing/

  • 解决

    1. 手动下载驱动并放到缓存目录(路径见上文)。

    2. 或使用镜像源(需修改 Selenium Manager 源码,不推荐)。

Q2:浏览器版本太旧

  • 解决:升级浏览器到最新稳定版。

Q3:备用方案(兼容旧版写法)

若不信任自动下载,仍可手动指定驱动:

python

复制

python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path="C:/path/to/chromedriver.exe")
driver = webdriver.Chrome(service=service)
相关推荐
测试员周周1 天前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
测试19981 天前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
曲幽1 天前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
北京耐用通信1 天前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
前端若水1 天前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
涛声依旧-底层原理研究所1 天前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
csdn_aspnet1 天前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
fantasy_arch1 天前
pytorch人脸匹配模型
人工智能·pytorch·python
熊猫_豆豆1 天前
广义相对论水星近日点进动完整详细数学推导
python·天体·广义相对论
裴东青1 天前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化