「Selenium+Python自动化从0到1②|2025浏览器操控7大核心API实战(附高效避坑模板))」

embedded/2025/3/5 21:48:28/

Python 自动化操作浏览器基础方法

在进行 Web 自动化测试时,操作浏览器是必不可少的环节。Python 结合 Selenium 提供了强大的浏览器操作功能,让我们能够轻松地控制浏览器执行各种任务。本文将详细介绍如何使用 Python 和 Selenium 操作浏览器的基本方法,包括打开浏览器、设置休眠时间、页面刷新、设置窗口大小、截屏、退出和关闭浏览器等。

一、打开浏览器

首先,我们需要导入 Selenium 的 webdriver 模块,并指定浏览器驱动路径来启动浏览器。以下示例展示了如何打开 Chrome 浏览器:

python">from selenium import webdriver# 指定浏览器驱动路径
driver_path = r"C:\path\to\chromedriver.exe"# 打开 Chrome 浏览器
driver = webdriver.Chrome(driver_path)# 打开一个网页
driver.get("https://www.baidu.com")

在上述代码中,我们通过 webdriver.Chrome() 方法启动了 Chrome 浏览器,并使用 get() 方法打开了百度首页。你可以将 driver_path 替换为实际的浏览器驱动路径。

二、设置休眠时间

自动化测试过程中,有时需要等待页面加载完成或某些元素出现。我们可以使用 time 模块的 sleep() 函数来设置休眠时间:

python">import time# 设置休眠 3 秒
time.sleep(3)

上述代码会使程序暂停执行 3 秒钟,等待页面加载或元素出现。在实际测试中,可以根据需要调整休眠时间。

三、页面刷新

在某些情况下,我们需要刷新当前页面以获取最新的内容。Selenium 提供了 refresh() 方法来实现页面刷新:

python"># 刷新当前页面
driver.refresh()

使用 refresh() 方法可以模拟用户手动刷新页面的操作,确保页面内容是最新的。

四、设置窗口大小

为了更好地进行测试,我们可能需要调整浏览器窗口的大小。Selenium 提供了 set_window_size() 方法来设置窗口大小:

python"># 设置窗口大小为 800x600
driver.set_window_size(800, 600)

上述代码将浏览器窗口的宽度设置为 800 像素,高度设置为 600 像素。你可以根据实际需求调整窗口大小。

五、截屏

在测试过程中,有时需要截取当前页面的截图以供后续分析。Selenium 提供了 save_screenshot() 方法来实现截屏功能:

python"># 截取当前页面并保存为 screenshot.png
driver.save_screenshot("screenshot.png")

上述代码会将当前页面的截图保存为 screenshot.png 文件。你可以指定其他文件名或路径来保存截图。

六、退出浏览器

当完成测试任务后,我们需要退出浏览器以释放资源。Selenium 提供了 quit() 方法来退出浏览器:

python"># 退出浏览器
driver.quit()

使用 quit() 方法会关闭所有浏览器窗口并结束会话。在测试结束时调用该方法可以确保资源被正确释放。

七、关闭浏览器

除了退出浏览器外,我们还可以使用 close() 方法关闭当前浏览器窗口:

python"># 关闭当前浏览器窗口
driver.close()

上述代码会关闭当前浏览器窗口,但不会结束会话。如果需要关闭所有窗口并结束会话,建议使用 quit() 方法。

八、课后作业:领取你的“浏览器驾驶执照”

🔑 Level 1 萌新任务

用Selenium打开B站,设置窗口为手机尺寸,截屏保存

🔑 Level 2 高手挑战

写一个自动刷新微博热搜榜的脚本,每隔5分钟截图存档

🔑 Level 3 终极Boss

结合定时任务(如APScheduler),每天早8点自动打开天气预报网页并邮件发送截图

九、总结

本文详细介绍了使用 Python 和 Selenium 操作浏览器的基本方法,包括打开浏览器、设置休眠时间、页面刷新、设置窗口大小、截屏、退出和关闭浏览器等。这些方法是进行 Web 自动化测试的基础,熟练掌握它们可以大大提高测试效率和质量。希望本文对你有所帮助,让你在自动化测试的道路上更进一步!

下期预告:《Selenium元素定位:用XPath/CSS选择器精准“狙击”网页元素》


http://www.ppmy.cn/embedded/170303.html

相关文章

Halcon算子 binary_threshold、auto_threshold、dyn_threshold

算子适用场景特点threshold全局对比度高或均匀光照图像固定阈值、速度快binary_threshold自动计算阈值(基于直方图或Otsu)自动化、但无法处理光照不均匀dyn_threshold光照不均匀、局部对比度变化动态调整阈值,灵活性强 自动阈值分割 auto_t…

麒麟V10-SP2-x86_64架构系统下通过KVM创建虚拟机及配置虚机的NAT、Bridge两种网络模式全过程

文章目录 一、什么是虚拟化?虚拟化具有哪些优势 二、常见的虚拟化技术1、kvm介绍2、kvm工作原理3、kvm功能 三、安装kvm并启动第一个kvm机器1、环境准备2、安装kvm工具3、启动并设置开机自启 libvirtd 服务4、验证 KVM 模块是否加载5、上传系统镜像到指定目录6、网络…

JWT概念及JAVA使用

前言 JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案 认证方式 认证方式一般有两种 session认证JWT认证 一、session认证 1、步骤 过去,我们都是使用session认证,步骤如下 前端访问登录接口登录接口验证完账号密码没问…

Linux与UDP应用1:翻译软件

UDP应用1:翻译软件 本篇介绍 本篇基于UDP编程接口基本使用中封装的服务器和客户端进行改写,基本功能如下: 从配置文件dict.txt读取到所有的单词和意思客户端向服务端发送英文服务端向客户端发送英文对应的中文意思 配置文件内容 下面的内…

大白话React Hooks(如 useState、useEffect)的使用方法与原理

啥是 React Hooks 在 React 里,以前我们写组件主要用类(class)的方式,写起来有点复杂,尤其是处理状态和副作用的时候。React Hooks 就是 React 16.8 之后推出的新特性,它能让我们不用写类,直接…

211.SpringSecurity:认证、授权概念,自定义数据源认证,验证码认证

目录 一、权限管理概念 1.基本概念 2.常用权限管理解决方案 (1)Shiro (2)Spring Security 二、整体架构 1.认证:Authentication (1)AuthenticationManager (2)Authentication (3)SecurityContextHolder 2.授权:Authorization (1)AccessDecisionManag…

面试常问的压力测试问题

性能测试作为软件开发中的关键环节,确保系统在高负载下仍能高效运行。压力测试作为性能测试的重要类型,旨在通过施加超出正常负载的压力,观察系统在极端条件下的表现。面试中,相关问题常被问及,包括定义、重要性、与负…

计算机毕设JAVA——某高校宿舍管理系统(基于SpringBoot+Vue前后端分离的项目)

文章目录 概要项目演示图片系统架构技术运行环境系统功能简介 概要 网络上许多计算机毕设项目开发前端界面设计复杂、不美观,而且功能结构十分单一,存在很多雷同的项目:不同的项目基本上就是套用固定模板,换个颜色、改个文字&…