Selenium 安装使用教程

一、Selenium 简介

Selenium 是一个用于 Web 应用程序自动化测试的工具,它支持多种浏览器(如 Chrome、Firefox、Edge 等)以及多种编程语言接口(如 Python、Java、C# 等)。在 Python 中,Selenium 常用于网页爬虫、自动化测试、自动化表单填写等场景。


二、安装 Selenium

2.1 安装 Selenium 包

bash 复制代码
pip install selenium

2.2 安装浏览器驱动

Selenium 依赖浏览器驱动与浏览器进行通信,需下载与你的浏览器版本匹配的驱动:

Chrome(chromedriver)
  1. 查看 Chrome 浏览器版本;
  2. 下载对应版本的 chromedriver:https://chromedriver.chromium.org/downloads;
  3. 解压后将其路径添加到系统环境变量中,或在代码中指定路径。
Edge(msedgedriver)

下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Firefox(geckodriver)

下载地址:https://github.com/mozilla/geckodriver/releases


三、第一个 Selenium 示例(以 Chrome 为例)

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# 启动浏览器
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

# 打开网页
driver.get("https://www.python.org")

# 查找元素
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("selenium")
search_box.submit()

# 等待页面加载
driver.implicitly_wait(5)

# 输出页面标题
print(driver.title)

# 关闭浏览器
driver.quit()

四、常见操作

4.1 查找元素

python 复制代码
driver.find_element(By.ID, "id")
driver.find_element(By.NAME, "name")
driver.find_element(By.XPATH, "//div[@class='class']")

4.2 页面交互

python 复制代码
element.click()
element.send_keys("text")
element.clear()

4.3 窗口控制

python 复制代码
driver.maximize_window()
driver.back()
driver.refresh()

4.4 等待操作

python 复制代码
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "some_id")))

五、使用 headless(无头)模式

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

options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)

六、使用 WebDriver Manager(自动管理驱动)

bash 复制代码
pip install webdriver-manager

示例(Chrome):

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

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

七、常见问题

Q1: 报错"WebDriverException: Message: 'chromedriver' executable needs to be in PATH"?

需确保浏览器驱动位于环境变量中,或使用 webdriver-manager 自动管理驱动。

Q2: selenium.common.exceptions.NoSuchElementException?

检查元素是否真的存在,可使用 WebDriverWait 等待元素加载。


八、学习资源推荐


本文由"小奇Java面试"原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

相关推荐
Protein_zmm11 分钟前
Wireshark实验一:Web 浏览器与服务器的协议报文捕获与分析
服务器·测试工具·wireshark
阿郎_20114 小时前
python自动化脚本-下载小说
python·selenium·网络爬虫
软件测试雪儿5 小时前
自动化测试面试真题(附答案)
软件测试·测试工具·面试·职场和发展
软件测试雪儿6 小时前
2025年100道最新软件测试面试题,常见面试题及答案汇总
软件测试·测试工具·职场和发展
霍格沃兹测试开发学社7 小时前
被裁后,我如何实现0到3份大厂Offer的逆袭?(内附面试真题)
人工智能·selenium·react.js·面试·职场和发展·单元测试·压力测试
AI绘画小339 小时前
CTF 逆向一脸懵?这篇攻略把破解技巧讲透,新手也能快速上手!
测试工具·web安全·网络安全
美团测试工程师9 小时前
软件测试面试题2025年末总结
开发语言·python·测试工具
B站计算机毕业设计之家9 小时前
Python+Flask 电商数据分析系统(Selenium爬虫+多元线性回归)商品数据采集分析可视化系统 实时监控 淘宝数据采集 大屏可视化 (附源码)✅
大数据·爬虫·python·selenium·机器学习·flask·线性回归
我的xiaodoujiao11 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 28--开源电商商城系统项目实战--封装注册页面
python·学习·测试工具·pytest
测试19981 天前
接口测试工具之postman详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman