Selenium3 + Python3自动化测试系列三——控制浏览器操作
控制浏览器操作
控制浏览器窗口大小
在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小。WebDriver提供了set_window_size()方法来设置浏览器的大小。
如果页面没有最大化,可以调用driver.maximize_window()将浏览器最大化,相当于点击了页面右上角的最大化按钮,maximize_window()方法不需要参数。
值得注意的是,在定位元素的时候,有些网页如果不是全屏展示时,将有可能定位不准!!!
下面举例源码如下:
from selenium.webdriver import Chrome
import time
driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.get('https://www.baidu.com')
#根据需求调整浏览器的尺寸,调整窗口大小尺寸为(800 * 720)。
driver.set_window_size(480,800)
#调整浏览器窗口最大化
driver.maximize_window()
time.sleep(5)
driver.quit()
控制浏览器前进、后退
在当前页面打开一个新的链接后,如果想回退到前一个页面,使用如下driver.back(),相当于点击了浏览器的后退按钮
和back操作对应的是浏览器前进操作driver.forward(),相当于点击了浏览器的前进按钮。
driver.back() //回到上一个页面
driver.forward() //切换到下一个页面
下面举例源码如下:
from selenium.webdriver import Chrome
import time
driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
first_url = 'https://www.baidu.com'
driver.get(first_url)
time.sleep(5)
second_url = 'https://news.baidu.com'
driver.get(second_url)
time.sleep(5)
#返回(后退)到百度首页
driver.back()
time.sleep(5)
#前进到新闻页
driver.forward()
time.sleep(5)
driver.quit()
刷新页面
有时页面过期后,网页上显示的信息可能不是最新的,需要对页面进行刷新,使用refresh()方法刷新页面,相当于点击浏览器的刷新按钮。
driver.refresh() #刷新当前页面
屏幕截图
自动化用例是由程序去执行的,因此有些时候打印的错误信息并不十分明确。
如果在脚本执行出错的时候能够对当前窗口截图保存,那么通过图片就可以非常直观的看出出错的原因。
webdriver提供了截图函数get_screenshot_as_file()来截取当前窗口:
from selenium.webdriver import Chrome
import time
driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.get('https://www.baidu.com')
#截图并保存至D盘根目录下图片名命名为test.png
driver.get_screenshot_as_file("D:/test.png")
time.sleep(5)
driver.quit()
这里列举了几个常用的控制浏览器操作,其他浏览器操作可另行参考网上其他资料。
Selenium3 + Python3自动化测试系列三——控制浏览器操作的更多相关文章
- Selenium3 + Python3自动化测试系列十——调用JavaScript代码
调用JavaScript代码 一.调用JavaScript代码方法 Selenium在对浏览器操作时会有自动化代码中不稳定的部分,经常出错的部分,可以将这部分对网页元素进行操作的代码换成对应的Java ...
- Selenium3 + Python3自动化测试系列一——安装Python+selenium及selenium3 浏览器驱动
一.安装Python https://www.python.org/downloads/ 验证Python是否安装成功.打开Windows命令提示符(cmd),输入python,回车 注意:在安装的过 ...
- Selenium3 + Python3自动化测试系列九——cookie操作
cookie操作 一.Cookie操作 WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. 使用方法: 1:get_cookies() ,获取cookie信息 ...
- Selenium3 + Python3自动化测试系列十二——窗口截图与关闭浏览器
窗口截图 自动化用例是由程序去执行的,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因.WebDriver提供了截图函数g ...
- Selenium3 + Python3自动化测试系列六——等待方式
等待 一.等待是什么,为什么要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等, 这时候,我们就需要使用等待,来判断上一步操 ...
- Selenium3 + Python3自动化测试系列五——常用断言Assertion
断言Assertion 验证应用程序的状态是否同所期望的一致. 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选. selenium 提供了三种模式的断言:a ...
- Selenium3 + Python3自动化测试系列二——selenium元素定位
一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...
- Selenium3 + Python3自动化测试系列八——警告框处理和下拉框选择
警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confi ...
- Selenium3 + Python3自动化测试系列四——鼠标事件和键盘事件
一.鼠标事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供. ActionChains 类提供了鼠标操作的常用方法. ActionChains 类的成 ...
随机推荐
- .NET性能优化(文摘)
第1章 性能指标 1.1 性能目标 1.2 性能指标 第2章 性能度量 2.1 性能度量方式 白盒测试-小程序 黑盒测试-大型程序 2.2 Windows内置工具 2.2.1 性能计数器 2.2.2 ...
- char与CString相互转换
Char -> CStringchar ch[] = "Hello";CString str;str.Format("%s",ch);CString -& ...
- Linux+mysql+apache+php
1.1.1 所需软件 cmake ncourse mysql apr apr-util pcre apache php 1.1.2 解压缩软件 ...
- php mysqli 链接数据库 CURD 增改查删
<?php function println($msg) { echo "<br>"; echo $msg; } $mysql_server_name = &qu ...
- wchar_t,char,string,wstring等的总结
一.LPSTR LPCSTR LPTSTR LPCTSTR等 确定的类型: LPSTR = CHAR * = char * LPCSTR = const CHAR * = char * //c意为co ...
- (转)EntityFramework.Extensions
转自:http://www.symbolsource.org/Public/Metadata/NuGet/Project/EntityFramework.Extended/1.0.0.20/Relea ...
- IGServer
默认运行的服务器程序 (这种没有界面的中间服务件程序但在进程中可以查看到) C/C++ 服务器编程(VS.Linux.测试/维护)C/C++网络编程
- spoj high
matrixtree定理裸体,学了行列式的n^3解法,(应该是能应用于所有行列式): 代码是参考某篇题解的... #include<iostream> #include<cstrin ...
- MySQL5.7的安装配置
双击进入安装,如下图: 2 点击上图红框“Install MySQL Products”进入安装界面,如下图: 3 根据上图当中第一步骤与第二步骤,进入下图: 4 进入设置界面,如下图: 5 在原来旧 ...
- Yarn的资源隔离机制
源调度和资源隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能.资源调度由ResourceManager完成,而资源隔离由各个NodeManager实现,在文章“Hadoop YARN中内存 ...