Selenium Python自动化测试:浏览器操作全指南

林见深
林见深
发布时间:2026-10-13 | 5人浏览过
原创

本文详解Selenium结合Python进行自动化测试时的浏览器基础操作。涵盖Chrome/Firefox等浏览器初始化、页面跳转与标题获取、前进后退导航、窗口最大化与尺寸自定义、异常截图保存、页面刷新及测试结束后的浏览器关闭流程。通过具体代码示例,帮助开发者快速掌握Web自动化测试的核心控制技巧。

WebDriver简介

自Selenium 2.0版本起,框架正式集成了WebDriver API,旨在提供一套设计优良、面向对象的编程接口,使Web应用测试的代码更加简洁且易于维护。本文将逐步介绍如何利用Python调用WebDriver框架,实现对各类浏览器的自动化控制与操作。

打开浏览器

在之前的“Selenium+Python自动化测试(一)–环境搭建”文章中,我们运行了一个基础测试脚本,其核心代码如下:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
print(driver.title)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
driver.close()

执行脚本的首要步骤是启动浏览器。通过调用webdriver.Chrome()即可打开Google Chrome浏览器。若需切换至其他浏览器,例如Firefox或Internet Explorer,只需将对应的浏览器名称替换至代码中即可实现兼容。

driver = webdriver.Chrome() //打开Chrome浏览器
driver = webdriver.Firefox() //打开Firefox浏览器
driver = webdriver.Ie() //打开IE浏览器

第二步操作为加载目标网页,通过调用driver.get(url)方法即可访问指定链接。例如,在脚本中我们使用该方法打开百度首页。

driver.get(http://www.baidu.com)

随后执行print(driver.title),利用driver.title属性获取当前页面的标题。该标题即为浏览器标签页上显示的文字内容,如百度首页的标题显示为“百度一下,你就知道”。

浏览器前进后退

在当前页面打开新链接后,若需返回至前一个页面,可调用driver.back()方法,其效果等同于点击浏览器界面上的后退按钮。

与back操作相对应的是前进功能,调用driver.forward()即可执行浏览器的前进操作,效果等同于点击前进按钮。

driver.back() //回到上一个页面
driver.forward() //切换到下一个页面

最大化浏览器窗口

浏览器启动后,若页面未处于最大化状态,可通过调用driver.maximize_window()方法将窗口最大化,其效果等同于点击浏览器右上角的最大化按钮。

此外,用户也可以根据需求自定义浏览器的窗口尺寸。

driver.maximize_window() //浏览器窗口最大化
driver.set_window_size(800, 720) //设置窗口大小为800*720

屏幕截图

页面加载完成后,支持对当前页面进行截屏操作。在测试过程中遇到异常时,通过查看截图能够快速定位并分析问题的根本原因。

执行浏览器截屏操作时,需传入参数指定截图文件的保存路径:

driver.get_screenshot_as_file("D:/data/test.png")

页面刷新

当页面内容过期导致显示信息非最新时,需对页面进行刷新。调用refresh()方法即可重新加载页面,效果等同于点击浏览器的刷新按钮。

driver.refresh() //重新加载页面

退出浏览器

测试脚本运行结束后,通常需要在末尾关闭浏览器。关闭浏览器主要有两种方式:close()方法用于关闭当前活动的页面标签页,而quit()方法则用于彻底关闭由当前测试脚本打开的所有浏览器窗口及进程。

driver.close() //关闭当前页面
driver.quit() //关闭所有由当前测试脚本打开的页面

本文介绍了Selenium中操作浏览器的多种常用方法,下一篇内容将重点讲解如何查找页面中的具体元素。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表