Python实现对Android截图
背景:
测试过程中,总是需要对Android设备进行截图,然后在截图中标注问题描述;
手动方式:
1.使用adb scrrencap /sdcard/screen.png 命令对Android设备进行截图
2.然后再使用adb pull /sdcard/scrren.png导入到PC端
3.使用QQ截图进行问题描述标注
自动化实现:
将scrrencap.py文件copy至某个目录下,直接执行将保存截图到当前目录并自动打开展示;
C:\>screencap.py
使用方法:
C:\>screencap.py -h
Usage: screencap.py [-d <directory> -f <filename>] Automatic screenshots for android, After in PC display . Options:
-h, --help show this help message and exit
-d DIRECTORY, --dir=DIRECTORY
directory of save the address
-f FILENAME, --filename=FILENAME
filename of screen shots file name
import os
import time
from optparse import OptionParser def option():
# 获取脚本所在当前目录
current_dir = os.path.dirname(__file__)
# 根据截图时间生成默认文件名:20170722142831.png
file_name = "%s.png" % time.strftime("%Y%m%d%H%M%S", time.localtime()) usage = "screencap.py [-d <directory> -f <filename>]"
description = "Automatic screenshots for android, After in PC display ." p = OptionParser(usage=usage, description=description) p.add_option("-d", "--dir",
dest="directory", default=current_dir,
help="directory of save the address") p.add_option("-f", "--filename",
dest="filename", default=file_name,
help="filename of screen shots file name")
return p.parse_args() def screen(options):
# 截图
print(os.popen("adb shell screencap /sdcard/{filename}".format(filename=options.filename)).read()) # 截图导出
print(os.popen(r"adb pull /sdcard/{filename} {dir}".format(filename=options.filename,
dir=options.directory)).read())
# 打开截图
print(os.popen(r"start {filename}".format(filename=options.filename)).read())
# 删除截图
print(os.popen("adb shell rm /sdcard/{filename}".format(filename=options.filename))) if __name__ == '__main__':
options, args = option()
# print(options)
# print(args)
screen(options)
screencap.py
Python实现对Android截图的更多相关文章
- 基于Python实现对PDF文件的OCR识别
http://www.jb51.net/article/89955.htm https://pythontips.com/2016/02/25/ocr-on-pdf-files-using-pytho ...
- 利用Python实现对Web服务器的目录探测
今天是一篇提升技能的干货分享,操作性较强,适用于中级水平的小伙伴,文章阅读用时约3分钟. PART 1/Python Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python ...
- 利用 python 实现对web服务器的目录探测
一.pythonPython是一种解释型.面向对象.动态数据类型的高级程序设计语言.python 是一门简单易学的语言,并且功能强大也很灵活,在渗透测试中的应用广泛,让我们一起打造属于自己的渗透测试工 ...
- 通过Python实现对SQL Server 数据文件大小的监控告警
1.需求背景 系统程序突然报错,报错信息如下: The transaction log for database '@dbname' is full. To find out why space in ...
- Python实现对CSV文件的读写功能
我们要处理csv文件,首先要的导入csv模块 import csv #读取csv文件def readCsv(path): #传入变量csv文件的路径 list=[] #定义一个空列表 with ope ...
- python实现对excel数据进行修改/添加
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join(os ...
- Python实现对excel的操作
1.操作excel使用第三方库openpyxl安装:pip install openpyxy引入:import openpyxl2.常用简单操作1)打开excel文件获取工作簿wb = openpyx ...
- 用 Python 脚本实现对 Linux 服务器的监控
目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统 ...
- 用 Python 脚本实现对 Linux 服务器的网卡流量监控
*这篇文章网上已经有相关代码,为了加深印象,我做了相关批注,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新 ...
随机推荐
- jquery 封装插件
如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...
- annovar积累
20170222 ANNOVAR简介 ANNOVAR是由王凯编写的一个注释软件,可以对SNP和indel进行注释,也可以进行变异的过滤筛选. ANNOVAR能够利用最新的数据来分析各种基因组中的遗传变 ...
- 基于MySQl的分页显示
<%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet ...
- 让flask在出现语法错误时仍然自动重启
1问题描述: flask自带的reload只能在语法没毛病的情况下auto_relaod,但是如果有语法错误,进程就会报错退出. 这时修改完语法错误,还得在控制台按“↑”和“enter”重新执行一次p ...
- 算法笔记--st表
概述:用倍增法求区间最值的离线算法,O(nlogn)预处理,O(1)访问. 预处理: 状态:st[i][j]:[i,i+2^j)之间的最值 状态转移:如果j等于0,st[i][j]=a[i] 如果j大 ...
- Codeforces 101487E - Enter The Dragon
101487E - Enter The Dragon 思路:做的时候两个地方理解错了,第一个事我以为龙吸了水,水就干了,其实龙是在下雨之前吸的,下雨时湖水又满了,所以湖水永远不会干:第二个是以为只要找 ...
- HDU 6114 Chess
Chess 思路:求C(n,m),除法取余用乘法逆元算. 代码: #include<bits/stdc++.h> using namespace std; #define ll long ...
- OpenGL入门程序二:绘制简单的圆
学习 绘制一个圆: ; const float Pi = 3.1415926536f; const float R = 0.5f; //绘制一个圆 void DrawCircle() { //绘制一个 ...
- codeforces 497c//Distributing Parts// Codeforces Round #283(Div. 1)
题意:有n个区间[ai,bi],然后有n个人落在[ci,di],每个人能用ki次.问一种方式站满n个区间. 两种区间都用先x后y的升序排序.对于当前的区间[ai,bi],将ci值小于当前ai的全部放入 ...
- android--------微信 Tinker 热修复 (二)
前面简单介绍了一下Tinker热修复,今天就来分享一下如何在Android中使用,希望对各位有帮助. 1:Tinker 接入指南 在项目的build.gradle中,添加tinker-patch-gr ...