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 相关文章推荐
在Django中创建第一个静态视图
Jul 15 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
python交互式图形编程实例(一)
Nov 17 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
解决django model修改添加字段报错的问题
Nov 18 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
Apr 14 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
Python基础之常用库常用方法整理
Apr 30 Python
baselines示例程序train_cartpole.py的ImportError
May 20 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 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
PHP7 标准库修改
2021/03/09 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
详解vue中axios的封装
2018/07/18 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
寻找网站后台地址的python脚本
2014/09/01 Python
python3.5仿微软计算器程序
2020/03/30 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
django 多数据库配置教程
2018/05/30 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
python3.6数独问题的解决
2019/01/21 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
办加油卡单位介绍信
2014/01/09 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
工作失误检讨书
2015/01/26 职场文书
高三语文教学反思
2016/02/16 职场文书