当前位置: 首页 > ops >正文

Selenium 安装使用教程

一、Selenium 简介

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


二、安装 Selenium

2.1 安装 Selenium 包

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 为例)

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 查找元素

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

4.2 页面交互

element.click()
element.send_keys("text")
element.clear()

4.3 窗口控制

driver.maximize_window()
driver.back()
driver.refresh()

4.4 等待操作

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECWebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "some_id")))

五、使用 headless(无头)模式

from selenium.webdriver.chrome.options import Optionsoptions = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)

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

pip install webdriver-manager

示例(Chrome):

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManagerdriver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

七、常见问题

Q1: 报错“WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH”?

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

Q2: selenium.common.exceptions.NoSuchElementException?

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


八、学习资源推荐

  • Selenium 官方文档
  • Selenium with Python 中文文档
  • webdriver-manager GitHub

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

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

在这里插入图片描述

http://www.xdnf.cn/news/14815.html

相关文章:

  • Java 中的锁机制详解
  • 服装零售企业跨区域运营难题破解方案
  • Kotlin 安装使用教程
  • SAP SD模块之业务功能剖析
  • CI/CD持续集成与持续部署
  • 开源 vGPU 方案 HAMi: corememory 隔离测试
  • 深度剖析:如何解决Node.js中mysqld_stmt_execute参数错误
  • Java 数据类型与变量
  • Oracle如何使用序列 Oracle序列使用教程
  • OpenCV中DPM(Deformable Part Model)目标检测类cv::dpm::DPMDetector
  • KVM高级功能部署
  • Go应用容器化完全指南:构建最小化安全镜像的终极实践
  • 【MySQL\Oracle\PostgreSQL】迁移到openGauss数据出现的问题解决方案
  • Python入门Day2
  • Python字符与ASCII转换方法
  • Qt 事件
  • Python从入门到精通——第一章 Python简介
  • 从 TCP/IP 协议栈角度深入分析网络文件系统 (NFS)
  • join性能问题,distinct和group by性能,备库自增主键问题
  • 孪生素数猜想 - 张益唐的核心贡献和陶哲轩的改进
  • vue-37(模拟依赖项进行隔离测试)
  • 互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用
  • 经典灰狼算法+编码器+双向长短期记忆神经网络,GWO-Transformer-BiLSTM多变量回归预测,作者:机器学习之心!
  • List中的对象进行排序处理
  • Go基础(Gin)
  • Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
  • 扣子空间PPT生产力升级:AI智能生成与多模态创作新时代
  • 【Linux仓库】进程优先级及进程调度【进程·肆】
  • Linux之Socket编程Tcp
  • Spring Cloud(微服务部署与监控)