selenium常用的API(一)截屏
我们在使用selenium测试过程中,可使用截屏功能将用例执行失败的画面截图保存,方便测试执行结束后查看并定位问题。
以下介绍两种截屏方法:
对当前浏览器窗口截屏
使用selenium自带的get_screenshot_as_file()方法
截图成功后返回True,如果发生了IOError异常,会返回False。
# encoding=utf-8
import unittest
import time
from selenium import webdriver class VisitSogouByIE(unittest.TestCase):
def setUp(self):
# 启动IE浏览器
#self.driver=webdriver.Firefox(executable_path="e:\\geckodriver")
self.driver = webdriver.Ie(executable_path="d:\\driver\IEDriverServer") def test_captureScreenInCurrentWindow(self):
url = "http://www.sohu.com"
# 访问搜狐首页
self.driver.get(url)
try:
'''
调用get_screenshot_as_file(filename)方法,对浏览器当前打开页面
进行截图,并保为G盘下的screenPicture.png文件。
'''
result=self.driver.get_screenshot_as_file(r"g:\screenPicture.png")
print result
except IOError, e:
print e def tearDown(self):
# 退出IE浏览器
self.driver.quit() if __name__ == '__main__':
unittest.main()
使用PIL模块调用操作系统API截桌面全屏
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
PIL非python内置模块,使用前需先安装PIL安装包→ pip install PIL
from PIL import ImageGrab
im=ImageGrab.grab()
im.save("1.jpg","jpeg")
要想了解PIL的更多使用,参请见:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000
selenium常用的API(一)截屏的更多相关文章
- selenium常用的API
打开浏览器 driver.get("http://www.baidu.com") 最大化浏览器 driver.maximize_window() 关闭浏览器 driver.quit ...
- VB用API模拟截屏键PrintScreen
很多人用 SendKeys "{PRTSC}" 模拟截屏键 PrintScreen 的时候提示<错误:'70' 拒绝的权限>,于是经常遇到人问...干脆写下来 '声明 ...
- selenium常用的API(七)判断元素是否可见
web页面不可见的元素虽不在页面上显示,但是存在于DOM树中,这些元素webdriver也能找到. element.is_displayed()方法可以判断元素是否在页面上显示,如果显示返回True, ...
- Java编程语言下Selenium 利用Robot自己编写截屏方法
import java.awt.Robot; import java.awt.event.KeyEvent; import java.util.concurrent.TimeUnit; import ...
- selenium常用的API(六)浏览器窗口切换
当使用selenium webdriver进行自动化测试打开多个窗口的时候,可能需要在不同的窗口间进行切换,webdriver提供的获取浏览器窗口句柄.切换句柄的方法如下: 获取当前窗口句柄 driv ...
- selenium常用的API(五)获取title、刷新、前进和后退
获取网页title的属性值 #encoding=utf-8 from selenium import webdriver import unittest import time class Visit ...
- selenium常用的API(四)设置get方法最大加载时间
我们在进行自动化测试的时候,使用get方法打开页面时会等到页面完全加载完才会执行后续操作, 有时我们需要的元素已加载完成,而部分JS未加载完导致加载时间很长,这无疑增加了自动化测试的时间, 针对此情况 ...
- selenium常用的API(三)获取网页title、html源码
获取网页title 获取页面title的方法可以直接用driver.title获取到,然后可以把获取到的结果用做断言. #encoding=utf-8 from selenium import web ...
- selenium常用的API(二)浏览器窗口设置
浏览器窗口最大化 # encoding=utf-8 from selenium import webdriver driver = webdriver.Ie(executable_path=" ...
随机推荐
- Oracle-关于Oracle.ManagedDataAccess
今天调用webservice的时候,运行程序后开始报错以下的错误信息 “/”应用程序中的服务器错误. 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的 ...
- 密码工具:KeePassXC
KeePassXC 开源免费 只支持数据库存放在本地, 跨平台 自动填充 使用浏览器插件时,软件必须启动着 KeePassXC is a community fork of KeePassX, a n ...
- [编程开发]STB image读取学习
为了便于学习图像处理并研究图像算法, 俺写了一个适合初学者学习的小小框架. 麻雀虽小五脏俱全. 采用的加解码库:stb_image 官方:http://nothings.org/ stb_image. ...
- 【计算机视觉】目标检测中的指标衡量Recall与Precision
[计算机视觉]目标检测中的指标衡量Recall与Precision 标签(空格分隔): [图像处理] 说明:目标检测性能指标Recall与Precision的理解. Recall与Precision ...
- C/c++语言开源项目总结
值得学习的C语言开源项目 -1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性 ...
- layui父页面获取子页面数据
var doc = layero.find('iframe')[0].contentDocument; var test= $(doc).find("input[name='test']&q ...
- GAN代码实战
batch normalization 1.BN算法,一般用在全连接或卷积神经网络中.可以增强整个神经网络的识别准确率以及增强模型训练过程中的收敛能力2.对于两套权重参数,例如(w1:0.01,w2: ...
- LeetCode 162. 寻找峰值(Find Peak Element) 29
162. 寻找峰值 162. Find Peak Element 题目描述 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元 ...
- [转帖]比特币本质其实是UTXO
比特币本质其实是UTXO https://www.jianshu.com/p/7071e68c5262 其实并没有什么比特币,我们在交易所里或者钱包里显示的比特币余额其实是UTXO.那到底什么是UTX ...
- MySQL中 while loop repeat 的用法
-- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...