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 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新 ...
随机推荐
- codevs 1082 线段树练习 3 区间更新+延迟标记
题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 Input Description 第一行一个正整数n,接下 ...
- C++宏定义不受命名空间的约束
// xxx.h namespace A { #define xxx() xxxxx } // 在其他文件中,引入xxx.h文件,使用宏定义时,不需要加命名空间 // yyy.cpp #include ...
- Springboot 学习笔记 之 Day 1
SpringBoot快速入门 https://spring.io/ 1. SpringBoot简介Spring Boot来简化Spring应用开发,约定大于配置,去繁从简,just run就能创建一个 ...
- node 循序渐进
1. 执行 node helloworld.js 2. http 服务器 建 server.js 文件 - node server.js 跑起来 - 浏览器访问 http://localho ...
- HDU 6090 Rikka with Graph
Rikka with Graph 思路: 官方题解: 代码: #include<bits/stdc++.h> using namespace std; #define ll long lo ...
- Unity2017烘焙参数设置
- Unity 代码优化
1.不用的代码删除掉,因为即使不用的代码也会 IL2Cpp. 2.MonoBehaviour 的方法是空方法,特别是Update方法,删除掉,会有性能消耗. 3.Unity 中 override 的方 ...
- Java 访问控制关键字
public, private, protected 在控制上有什么区别和不同请参考下面的说明. 请参考下图的说明. 和下面的一个说明: │ Class │ Package │ Subclass │ ...
- 『Numpy学习指南』排序&索引&抽取函数介绍
排序: numpy.lexsort(): numpy.lexsort()是个排字典序函数,因为很有意思,感觉也蛮有用的,所以单独列出来讲一下: 强调一点,本函数只接受一个参数! import nump ...
- python-day36--并发编程之多线程
十三.死锁.递归锁 1.所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永 ...