Selenium控制浏览器常见操作示例


Posted in Python onAugust 13, 2018

本文实例讲述了Selenium控制浏览器常见操作。分享给大家供大家参考,具体如下:

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

有时候我们希望能让浏览器以某种尺寸打开,让访问页面在这种尺寸下运行,或者控制浏览器进行后退与前进操作等等

控制浏览器窗口大小

有时我们需要对移动站点的样式进行评估,可是浏览器的正常尺寸很显然是不合适的, 此时我们会想将浏览器设置成移动端大小就可以了。WebDriver提供了set_window_size()方法来设置浏览器大小:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')
driver.set_window_size(480,800)

除了set_window_size方法来设置浏览器的大小,WebDriver还提供了一个设置浏览器全屏显示的方法maximize_window(),其用法与set_window_size()相同,不同的是maximize_window()无需传递参数:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')
driver.maximize_window()

值得注意的是,在定位元素的时候,有些网页如果不是全屏展示时,将由可能定位不准!!!

控制浏览器前进与后退

在使用浏览器浏览网页时,浏览器提供了前进和后退的按钮,可以方便的在浏览过的网页之间进行切换,WebDriver也提供了相应的back()forward()方法来模拟后退和前进按钮,下面举个简单的栗子来演示这两个方法的使用:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com')
driver.get('https://blog.csdn.net/y472360651')
# 后退至百度页面
driver.back()
# 前进至博客页面
driver.forward()

刷新页面

有时候需要手动刷新(F5)页面,WebDriver也提供了相应的方法refresh(),使用起来很简单,如下:

driver.refresh()

窗口截屏

自动化用例是由程序去执行的,因此有些时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能够对当前窗口截图保存,那么通过图片就可以非常直观的看出出错的原因。WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get("https://www.baidu.com/")
driver.get_screenshot_as_file("abc.png")

值得注意的是,当使用窗口截屏功能时,图片的扩展名必须是png!!!

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
使用go和python递归删除.ds store文件的方法
Jan 22 Python
测试、预发布后用python检测网页是否有日常链接
Jun 03 Python
wxPython学习之主框架实例
Sep 28 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
Python使用python-docx读写word文档
Aug 26 Python
DJANGO-URL反向解析REVERSE实例讲解
Oct 25 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
Python爬取365好书中小说代码实例
Feb 28 Python
python的列表List求均值和中位数实例
Mar 03 Python
python判断正负数方式
Jun 03 Python
Numpy中np.max的用法及np.maximum区别
Nov 27 Python
详解python3中的真值测试
Aug 13 #Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 #Python
Selenium鼠标与键盘事件常用操作方法示例
Aug 13 #Python
python删除字符串中指定字符的方法
Aug 13 #Python
Django contenttypes 框架详解(小结)
Aug 13 #Python
Python中的Numpy矩阵操作
Aug 12 #Python
浅谈python之新式类
Aug 12 #Python
You might like
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
用Python抢过年的火车票附源码
2015/12/07 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
python代码实现ID3决策树算法
2017/12/20 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
django反向解析和正向解析的方式
2018/06/05 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
python 实现aes256加密
2020/11/27 Python
python实现视频压缩功能
2020/12/18 Python
Python截图并保存的具体实例
2021/01/14 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
网络安全方面的面试题
2016/01/07 面试题
介绍一下linux的文件权限
2014/07/20 面试题
优秀士兵先进事迹
2014/02/06 职场文书
学习十八大报告感言
2014/02/28 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
安全环保标语
2014/06/09 职场文书
企业精神口号
2014/06/11 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
党员群众路线整改措施及今后努力方向
2014/10/28 职场文书
情况说明书怎么写
2015/10/08 职场文书