Selenium Python自动化测试:浏览器操作全指南
本文详解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中操作浏览器的多种常用方法,下一篇内容将重点讲解如何查找页面中的具体元素。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









