自动化测试工具 Selenium 入门指南

selenium学习指南 隐式等待是全局性的,即运行过程中,如果元素可以定位到,它不会影响代码运行,但如果定位不到,则它会以轮询的方式不断地访问元素直到元素被找到,若超过指定时间,则抛出异常。进行网页操作的时候, 有的元素内容不是可以立即出现的, 可能会等待一段时间。driver.find_element(By.PARTIAL_LINK_TEXT,''),partial_link_text为link_text的补充,partial_link_text定位的是超链接的局部文本内容,所以匹配条件为部分匹配就满足条件。... 阅读详情

Selenium 是一款强大的自动化测试工具,可用于模拟用户在浏览器中的各种操作。它支持多种浏览器(如 Chrome、Firefox、Edge 等)和多种编程语言(如 Python、Java、C# 等),广泛应用于 Web 应用程序的自动化测试、网页数据爬取、自动化操作等场景。

一、Selenium 的安装

要开始使用 Selenium,首先需要安装它。使用 Python 的 pip 包管理器可以轻松完成安装。打开命令行终端,并执行以下命令:

pip install selenium

如果你使用的是虚拟环境,请确保在激活虚拟环境后再执行此命令。安装完成后,你就可以在 Python 代码中导入并使用 Selenium 库了。

在安装过程中,可能会遇到一些常见问题,下面是一些解决方案:

  1. 网络问题:如果在执行pip install命令时遇到网络连接超时或失败的情况,可以尝试使用国内的镜像源来加速下载。例如,使用清华大学的 pip 镜像:
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 权限问题:如果你没有足够的权限在全局环境中安装包,可能会看到 "Permission denied" 错误。此时,可以考虑以下两种解决方案:
    • 使用虚拟环境:虚拟环境可以让你在项目特定的环境中安装包,而不需要管理员权限。创建和激活虚拟环境的命令如下:
      # 创建虚拟环境
      python -m venv myenv
      
      # 激活虚拟环境(Windows)
      myenv\Scripts\activate
      
      # 激活虚拟环境(Linux/Mac)
      source myenv/bin/activate
      
    • 使用--user选项:在安装命令后添加--user选项,将包安装到用户目录下:
      pip install selenium --user
      

安装完成后,你可以通过以下代码验证 Selenium 是否安装成功:

import selenium
print(selenium.__version__)  # 打印Selenium版本号

如果能够正常打印出版本号,说明 Selenium 已经成功安装。

二、Edge 浏览器驱动的下载与配置

Selenium 需要对应的浏览器驱动才能控制浏览器。对于 Edge 浏览器,你需要下载 Microsoft Edge WebDriver。

  1. 确定 Edge 浏览器版本:打开 Edge 浏览器,点击右上角的三个点(...),选择 "帮助和反馈" > "关于 Microsoft Edge",查看版本号。版本号通常显示为类似于 "114.0.1823.51" 的格式。

  2. 下载对应版本的 WebDriver:访问 Microsoft Edge WebDriver 下载页面,选择与你浏览器版本匹配的 WebDriver 进行下载。具体步骤如下:

    • 在下载页面中,找到与你 Edge 浏览器版本完全匹配的 WebDriver 版本。如果找不到完全匹配的版本,选择最接近且不高于你浏览器版本的驱动。
    • 根据你的操作系统(Windows、macOS 或 Linux)选择相应的下载包。
    • 下载完成后,得到一个压缩文件(如.zip 或.msi 格式)。
  3. 解压并放置驱动文件:将下载的压缩包解压,得到一个 exe 文件(如 msedgedriver.exe)。将此文件放在 Python 解释器的根目录中。你可以通过以下 Python 代码查看解释器的根目录:

import sys
print(sys.executable)

执行上述代码后,会输出 Python 解释器的路径,例如:

C:\Python39\python.exe

在这个例子中,Python 解释器的根目录是C:\Python39\,你需要将msedgedriver.exe文件复制到这个目录中。

除了将驱动文件放在 Python 解释器根目录外,还有其他几种配置方式:

  • 将驱动路径添加到系统环境变量:

    1. 右键点击 "此电脑",选择 "属性"
    2. 点击 "高级系统设置"
    3. 在 "系统属性" 窗口中,点击 "环境变量" 按钮
    4. 在 "系统变量" 列表中,找到 "Path" 变量,点击 "编辑"
    5. 点击 "新建",添加驱动文件所在的目录路径
    6. 确认所有窗口,使更改生效
  • 在代码中显式指定驱动路径:
    如果你不想修改系统环境变量或 Python 解释器目录,也可以在代码中明确指定驱动的路径:

    from selenium import webdriver
    from selenium.webdriver.edge.service import Service
    
    # 显式指定驱动路径
    edge_driver_path = "D:/webdrivers/msedgedriver.exe"  # 根据实际路径修改
    service = Service(edge_driver_path)
    driver = webdriver.Edge(service=service)
    
三、使用 Selenium 打开浏览器

下面是一个简单的 Python 代码示例,展示如何使用 Selenium 打开 Edge 浏览器并访问百度网站:

from selenium import webdriver
from selenium.webdriver.edge.service import Service
import time

# 设置Edge驱动的路径
edge_driver_path = "msedgedriver.exe"  # 如果已放在Python根目录,可直接这样写

# 创建Service对象
service = Service(edge_driver_path)

# 创建Edge浏览器实例
driver = webdriver.Edge(service=service)

try:
    # 打开百度网站
    driver.get("https://www.baidu.com")
    
    # 获取页面标题并打印
    title = driver.title
    print(f"当前页面标题: {title}")
    
    # 等待5秒钟,以便观察
    time.sleep(5)
    
except Exception as e:
    print(f"发生错误: {e}")
finally:
    # 关闭浏览器
    driver.quit()

在上述代码中,我们首先导入了必要的模块,然后创建了一个 Edge 浏览器的 Service 对象,接着使用该 Service 创建了浏览器实例。通过get方法打开了百度网站,使用time.sleep让程序暂停 5 秒以便我们观察,最后使用quit方法关闭了浏览器。

让我们详细分析一下这段代码:

  1. 导入模块:

    • webdriver:提供了各种浏览器的驱动类
    • Service:用于配置和启动浏览器驱动服务
    • time:用于添加延时,方便观察程序执行过程
  2. 创建浏览器实例:

    • 通过Service类指定驱动路径
    • 使用webdriver.Edge创建 Edge 浏览器实例
  3. 浏览器操作:

    • driver.get(url):打开指定 URL 的网页
    • driver.title:获取当前页面的标题
    • driver.quit():关闭浏览器并终止驱动服务
  4. 异常处理:

    • 使用try-except-finally结构确保即使发生异常,浏览器也能被正确关闭
     四、Selenium 网页图片提取实战

下面我们通过一个实战项目,展示如何使用 Selenium 从网页上提取图片。我们以 Unsplash 网站(一个提供高质量免费图片的网站)为例,提取搜索结果中的图片链接。

from selenium import webdriver
from selenium.webdriver.edge.options import Options
import re
import requests
import time
edgetest=Options() #Option对象用于对浏览器行为与属性的配置
#binary_location指明驱动的浏览器二进制文件地址,因为用户的默认的浏览器不一定是edge浏览器
edgetest.binary_location=r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
driver=webdriver.Edge(options=edgetest)
driver.get('https://www.ptpress.com.cn/search?keyword=python&jc=')#进入人民邮电出版社界面
time.sleep(1)#让程序休眠1秒,让页面加载出来,不加可能导致页面未加载出来就退出
#正则表达式从源码中提取图片地址
ls=re.findall(r'<img src="(.+?jpg)"></div>',driver.page_source)
i=1
for url in ls:
    r=requests.get(url)
    with open('zxc\\'+str(i)+'.jpg','wb') as f:#在当前的相对路径下已经创建了zxc这个文件夹。
        f.write(r.content)
        i+=1

这个代码实现了以下功能:

1. 浏览器配置与初始化

  • 指定浏览器路径:通过Options类设置 Edge 浏览器的安装路径(默认为系统默认位置)。

  • 创建浏览器实例:启动 Edge 浏览器并准备访问网页。

2. 访问目标网页

  • 搜索关键词:打开人民邮电出版社的搜索页面,自动填入关键词python,并加载搜索结果。

  • 强制等待:使用time.sleep(1)暂停 1 秒,确保页面元素加载完成(此方法不够可靠,后续可优化)。

3. 提取图片 URL

  • 获取页面源码:通过driver.page_source获取当前页面的 HTML 代码。

  • 正则表达式匹配:使用正则表达式<img src="(.+?jpg)"></div>提取所有图片 URL。

    • 该正则假设图片标签紧跟在</div>前,且 URL 以.jpg结尾。

4. 下载并保存图片

  • 遍历 URL 列表:对每个匹配到的图片 URL,使用requests.get()发送 HTTP 请求下载图片内容。

  • 保存文件:将图片内容写入本地文件,命名为1.jpg, 2.jpg等,保存在当前目录下的zxc文件夹中。

Python+Selenium安装及环境配置手把手教会你 1. 1,组件✨Selenium IDE,Firefox浏览器的一个插件,提供简单的脚本录制、编辑与回放功能;Selenium Remote Control (RC),是selenium 1 提供的组件,包含:SeleniumServer(用于提供自动化测试服务)、Selenium Client(用于执行脚本);Selenium Grid,用于对测试用例集做分布式处理(并行),现已集成到selenium server中; 阅读详情

相关推荐

小白爬虫——selenium入门超详细教程

Selenium是一个用于自动化测试的工具,它可以模拟用户在浏览器中的各种操作。除了用于爬虫,Selenium还可以用于测试,尤其是在处理动态加载页面时非常有用。本文将提供一个超级详细的Selenium教程,以帮助您快速入门并了解其各种功能和用法。本博客为自学python爬虫的过程贴,内容上可能存在些许错误,希望大家批评指正,后续我将努力完善修改,散花!

m0_74825135的博客 5381

selenium新手入门

从零入门,最简单,最易接受的新手安装指南

weixin_45230019的博客 4428

Web自动化测试工具选型指南:Selenium、Playwright、Cypress、Robot Framework深度对比

Web自动化测试是软件工程中提升回归测试效率、保障软件质量的关键实践,其核心原理是通过脚本模拟用户操作,自动执行页面流程验证。该技术能有效替代重复性人工测试,将人力资源释放到更具创造性的探索性测试中,其技术价值体现在提升测试覆盖率、加速反馈周期和降低人为错误。在实际应用场景中,针对不同技术栈、浏览器兼容性和项目需求,需选择合适的工具。例如,Selenium凭借其庞大的生态和全面的浏览器支持,成为行业基石;而Playwright则以其革命性的自动等待机制和出色的稳定性,成为现代Web应用测试的高效选择。本文聚

weixin_30352191的博客 392

Selenium入门详细教程+实例演示

详细介绍了selenium的概念,环境搭建以及具体的详细示例和用法,对于每一个重点场景做出了对应的自动化代码测试

zhaolk的博客 3万+

从零开始用飞牛fnas搭建集成DeepSeek-R1的远程AI工作台

从零开始用飞牛fnas搭建集成DeepSeek-R1的远程AI工作台

AI+全栈,AI+应用,实操落地,前沿技术 3807

基于CANopenNode协议栈在正点原子探索者开发板上进行移植

配置好之后进行采用keil IDE进行代码生成即可,还需要进行CANopenNode的代码集成,并参照demo进行代码移植。发送完成后心跳包以1s的周期重新开始发送。正点原子的开发板引出的是CAN1接口。这里的心跳时间间隔设置为100ms。则将心跳包周期设置为0。

wangfandashe的博客 4696

从零基础到上手:Selenium Web UI 自动化测试工具的入门指南

下载对应浏览器的 WebDriver,如 ChromeDriver 或 GeckoDriver(Firefox),并将其路径添加到系统环境变量中。通过以上步骤,可以快速掌握 Selenium 的核心功能并开展 Web 自动化测试。Selenium 是广泛应用于 Web UI 自动化测试的开源工具,支持多语言和浏览器。以下是从零基础到实际操作的完整指南。一个简单的测试脚本通常包括浏览器驱动初始化、页面操作和断言验证。优先使用 ID 或 Name,复杂场景可选用 XPath 或 CSS 选择器。

gfdasdax的博客 379

DBC到ARXML:AUTOSAR CAN通信栈自动化配置完整指南

在AUTOSAR架构下,DBC(CAN数据库文件)与ARXML(AUTOSAR XML)分别扮演着描述总线通信和ECU内部配置的关键角色。DBC定义了网络上的报文与信号,而ARXML则是AUTOSAR工具链交换配置数据的标准格式。在实际的ECU开发中,如何将DBC中的通信信息高效、准确地转换为ARXML,并自动生成可编译的CAN通信栈BSW配置,是许多工程师面临的痛点。借助DaVinci Configurator等工具,我们可以通过自动化导入链路消除手工映射带来的字节序错误、信号起始位偏差等高风险问题,大幅

weixin_34183910的博客 536

一步一步使用自动化测试工具selenium

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33795833的博客 88

【雕爷学编程】Arduino动手做(45)---红外光电避障传感器模块4

雕爷学编程,Arduino动手做,开源硬件,创客传感器,红外光电避障传感器模块

雕爷学编程 2503

YOLOv11的元学习(MAML)few-shot适配-(5样本内快速适应新类别)

本文提出了一种基于元学习和YOLOv11的少样本目标检测方法。首先介绍了元学习的核心概念和MAML算法原理,分析了YOLOv11的架构改进及其在少样本检测中的适用性。针对少样本检测面临的过拟合、特征混淆和定位困难等挑战,提出了基于MAML的解决方案。在实现方面,详细阐述了环境配置、数据预处理和任务采样策略,构建了支持N-way K-shot任务的数据加载器。实验表明,该方法相比传统微调策略可显著提升小样本场景下的检测性能。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 601

秃头工程师熬夜整理,Web自动化测试 零基础Python+Selenium 测试用例编写终极实战入门指南(一)

Web自动化测试是通过程序自动验证Web项目功能的过程,其核心是比较预期结果与实际结果。适合在需求稳定、回归测试频繁、界面变动少的场景中使用。实现自动化测试需要具备编程语言(如Python、Java)、Selenium工具(支持浏览器操作)和单元测试框架等条件。Selenium是主流工具,包含WebDriver、IDE和Grid组件,支持脚本录制、分布式测试等。环境搭建包括安装Python、Selenium库和浏览器驱动,并通过元素定位技术(如ID、XPath、CSS)实现测试脚本编写。自动化测试能提升效率

霍格沃兹测试学院的博客 1090

SolidWorks软件二次开发:使用C#进行SolidWorks二次开发

SolidWorks 提供的 API(应用程序编程接口)允许开发者使用多种编程语言(如 C#、VB.NET 等)来控制和扩展 SolidWorks 的功能。API 架构基于 COM(组件对象模型),这意味着开发者可以通过引用 SolidWorks 的类型库来访问其对象模型。SolidWorks 的对象模型包括了从文档、零件、装配体到特征、草图等所有 SolidWorks 中可操作的对象。

kkchenjj的博客 3214

想从零开始到设计Python+Selenium自动化测试框架,如何开始?

如何实现Web UI自动化测试?应该选择哪门脚本语言?又应选择什么自动化测试工具? 作为一名测试员,如果前两年你只会做手工测试,没关系,很多人都是这样起步的;但是第三年甚至第n年,你依然只会手工点点点,没接触和学习过自动化测试,随着年龄的增长,很容易被开发人员嫌弃,被应届毕业生取代,最后只能被淘汰,面临中年危机,找不到心仪的工作。 所以,为了延长测试职业生涯,为了升职加薪,为了找到理想的工作,为了不被行业淘汰,你必须得逼自己学会自动化测试! 一、自动化测试从何开始? 都说万事开头难,对于未知的技术,有的人会

公众号:【伤心的辣条】 389

2026年AI视频生成大模型全景指南:国内外主流工具深度对比与选型建议

AI视频生成技术在2025年至2026年间取得了突破性进展,从"能用"进化到"好用",商业化应用加速落地。中美双轨竞争格局基本成型,国内模型在技术追赶和本土化体验方面展现出强劲竞争力。对于用户而言,选择合适的AI视频生成工具需要综合考虑技术性能、使用门槛、成本预算和具体需求。零基础新手推荐海艺AI、通义万相等低门槛工具;进阶创作者可根据需求选择可灵AI、即梦AI、海艺AI等;专业开发者和企业用户可考虑智谱清影的开源能力或可灵AI的商业化服务。

nmdbbzcl的博客 2841

[cshell]个性化配置你的cshrc/tcshrc

本文介绍了csh/tcsh shell的配置优化方法,主要包括:1. 配置文件管理(全局和个人配置);2. 按键绑定设置(解决远程登录按键问题);3. 提示符个性化(包含颜色配置方案);4. 环境变量设置(如LSCOLORS、CLICOLOR等);5. 安全防护措施(防误删、防覆盖等);6. 实用alias命令集(简化操作、提高效率)。文章提供了详细的配置示例,并建议通过man tcsh获取更多帮助信息。这些配置能显著提升shell使用体验和工作效率。

元直的博客 6113

Selenium WebDriver 快速入门

今天这篇讲的是快速入门 Selenium,通过阅读本文并且跟随操作,读者将能做到以下: 搭建本地 Selenium WebDriver 环境 了解 Selenium WebDriver,Selenium IDE 和 Grid 区别 如果只想知道 WebDriver 环境怎么搭,如何写出一个 Demo,那么可跳过下面的部分,直接看 Selenium WebDriver 环境搭建,但仍建议了解其测...

不甘平庸的技术从业者 6245

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Playwright与Selenium详细对比及Playwright快速入门

特性PlaywrightSelenium发布年份20202004开发商微软开源社区浏览器支持几乎所有主流浏览器,含旧版IE语言支持自动等待内置支持需手动配置代码生成原生支持需要额外工具架构基于CDP和WebSocket基于HTTP/WebDriver执行速度较快较慢测试稳定性高中到低现代Web应用支持优秀一般调试工具丰富,内置Trace Viewer基础,依赖外部工具社区规模中等但增长快大文档质量优秀优秀但分散学习曲线平缓。

qq_17496235的博客 1505

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

selenium(一)之入门基础语法

1.selenium 2介绍 selenium是目前一个web自动化测试很流行的模拟浏览器的程序测试系统。严格说来,Selenium是一套完整的Web应用程序测试系统。

xqhadoop的博客 2164

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Selenium,自动化测试的最佳工具!

大家好,我是“一行”,今天我们要聊一聊Selenium,一个非常强大的自动化测试工具。对于很多刚接触自动化测试的小伙伴来说,Selenium 是一种让你可以自动化浏览器操作的工具,也就是说,你可以写代码让计算机帮你“点点鼠标、按按键盘”,完成一些重复、繁琐的操作。我们会通过一些简单的代码示例和应用场景来帮助大家理解 Selenium 是如何工作的,并让你能迅速上手,开始自己的自动化测试之旅。什么是...

一行玩python 1328

selenium自动化测试详解

Selenium是Thought Works公司开发的一套基于web应用的自动化测试工具,直接运行在浏览器中,模拟用户操作。它可以被用于单元测试、集成测试、回归测试、系统测试、冒烟测试、验收测试,并且可以运行在各种浏览器和操作系统上。目前使用selenium的人群大概有两大类吧,一类是软件测试工程师,他们可以通过selenium来实现自动化的测试,以提高回归测试的效率,降低人员的执行成本。

HUA1211的博客 1775

Selenium自动化测试超详细总结

Selenium是Thought Works公司开发的一套基于web应用的自动化测试工具,直接运行在浏览器中,模拟用户操作。它可以被用于单元测试、集成测试、回归测试、系统测试、冒烟测试、验收测试,并且可以运行在各种浏览器和操作系统上。目前使用selenium的人群大概有两大类吧,一类是软件测试工程师,他们可以通过selenium来实现自动化的测试,以提高回归测试的效率,降低人员的执行成本。

zhangsiyuan1998的博客 1196

Selenium自动化测试:如何搭建自动化测试环境?

Selenium是Thought Works公司开发的一套基于web应用的自动化测试工具,直接运行在浏览器中,模拟用户操作。它可以被用于单元测试、集成测试、回归测试、系统测试、冒烟测试、验收测试,并且可以运行在各种浏览器和操作系统上。目前使用selenium的人群大概有两大类吧,一类是软件测试工程师,他们可以通过selenium来实现自动化的测试,以提高回归测试的效率,降低人员的执行成本。

HUA1211的博客 990

一行玩python | Selenium,自动化测试的最佳工具!

大家好,我是“一行”,今天我们要聊一聊Selenium,一个非常强大的自动化测试工具。对于很多刚接触自动化测试的小伙伴来说,Selenium 是一种让你可以自动化浏览器操作的工具,也就是说,你可以写代码让计算机帮你“点点鼠标、按按键盘”,完成一些重复、繁琐的操作。

csdn_xmj的博客 989
上一篇: 初探requests库:轻松搞定网络请求
下一篇: Selenium 启动的浏览器自动退出问题分析
二向箔reverse
博客等级 码龄4年 550粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值