Selenium4介绍及环境准备

简介

selenium 是一个广泛使用的自动化测试工具,主要用于 Web 应用程序的自动化测试。官方文档

Selenium 支持多种编程语言(如 Java、Python、C#、Ruby、JavaScript 等),并允许用户控制浏览器执行自动化任务,例如点击按钮、填写表单、验证页面内容等。

Selenium 可以在多种浏览器(如 Chrome、Firefox、Edge、Safari 等)和操作系统(如 Windows、macOS、Linux)上运行。

备注:该文档主要介绍python下使用selenium4。

特点

  • 跨浏览器支持:Selenium 支持多种主流浏览器,如 Chrome、Firefox、Safari、Internet Explorer 等,可以在不同浏览器中执行相同的测试脚本。
  • 多语言支持:Selenium 支持多种编程语言,开发者可以用自己熟悉的语言来编写测试脚本。
  • 灵活性:Selenium 可以与各种测试框架结合使用,如 TestNG、JUnit、PyTest 等,提供了丰富的测试功能。
  • 与 CI/CD 集成:Selenium 可以与 Jenkins 等持续集成工具集成,帮助实现自动化测试和持续交付。
  • 自动化Web交互:Selenium 可以模拟真实用户的操作,如点击、滚动、键盘输入等,以实现web自动化(无焦点状态依然执行)

组成部分

Selenium 由多个组件组成,每个组件都有其特定的用途。以下是 Selenium 的主要组件:

  • Selenium WebDriver:这是 Selenium的核心组件,用于直接与浏览器进行交互。WebDriver 提供了丰富的 API,允许开发者通过代码控制浏览器的行为,如打开网页、点击按钮、填写表单等。
  • Selenium IDE:这是一个浏览器插件,主要用于录制和回放用户的操作。Selenium IDE适合初学者快速创建简单的测试脚本,但它不支持复杂的逻辑和条件判断。
  • Selenium Grid:这是一个用于并行执行测试的工具。通过 Selenium Grid,你可以在多个浏览器和操作系统上同时运行测试,从而加快测试速度并提高测试覆盖率。

应用场景

自动化测试

  • 用于 Web 应用程序的功能测试、回归测试、兼容性测试等。
  • 可以模拟用户操作,验证页面功能是否正常。

网页抓取

  • 用于从网页中提取数据,例如商品信息、新闻内容等。
  • 可以处理动态加载的内容(如通过 JavaScript 加载的数据)。

自动化任务

  • 用于执行重复性的网页操作,例如自动填写表单、自动登录等。

跨浏览器测试

  • 用于验证 Web 应用程序在不同浏览器和操作系统上的兼容性。

局限性

  • 无法处理非浏览器操作:Selenium 只能控制浏览器,无法直接操作桌面应用程序或移动应用程序。
  • 动态内容处理复杂:对于高度动态的网页(如单页应用),可能需要额外的等待机制或 JavaScript 执行。
  • 性能开销:由于需要启动浏览器实例,Selenium 的执行速度相对较慢。

新特性(selenium4.x)

  • executable_path已弃用,使用Service 对象来代替。
  • Selenium 4 可以自动回收浏览器资源,不需要手动quit()了,像4之前不停止服务会有残留进程,占用内存。
  • 定位语法方面,Selenium 4引入了新的定位方法,使用By类来替代之前的 find_element_by系列方法。
  • 放弃了无头浏览器PhantomJS,目前的 chrome,firefox 都是支持无头浏览器。

注意:使用Selenium4要求是Python版本为3.7或者更高。

环境准备

安装selenium

# 通过pip安装
pip install selenium
# Python3,可能需要使用 pip3
pip3 install selenium
# 检查 Selenium 是否安装成功
pip show selenium

如果显示了 Selenium 的版本信息,说明安装成功。

下载浏览器驱动

Selenium 需要通过浏览器驱动来控制浏览器,不同的浏览器需要不同的驱动。

下载驱动的版本要和你浏览器的版本对应,否则失效。

然后把它粘贴在与python.exe同一个目录下(如下图)。

image-20250609162613071
posted @ 2025-06-13 16:15  克峰同学  阅读(74)  评论(0)    收藏  举报