使用python编写android截屏脚本双击运行即可

yipeiwu_com6年前Python基础

测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦。另一种方法是使用PC端的手机助手类软件。

这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下:

#!/usr/bin/env python 

import os 
import time 

PATH = lambda p: os.path.abspath(p) 

def screenshot(): 
path = PATH(os.getcwd() + "/screenshot") 
timestamp = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time())) 
os.popen("adb wait-for-device") 
os.popen("adb shell screencap -p /data/local/tmp/tmp.png") 
if not os.path.isdir(PATH(os.getcwd() + "/screenshot")): 
os.makedirs(path) 
os.popen("adb pull /data/local/tmp/tmp.png " + PATH(path + "/" + timestamp + ".png")) 
os.popen("adb shell rm /data/local/tmp/tmp.png") 
print "success" 

if __name__ == "__main__": 
screenshot()

相关文章

Python实现线程池代码分享

原理:建立一个任务队列,然多个线程都从这个任务队列中取出任务然后执行,当然任务队列要加锁,详细请看代码 import threading import time import sig...

关于Python3 lambda函数的深入浅出

我们常常看到一个这样的表达式  A=lambda x:x+1 可能会一头雾水不知道怎么计算 最基本的理解就是 def A(x): return x+1 但是理解程序不会将一个表...

python 不关闭控制台的实现方法

直接打开dos窗口,再执行python程序 在脚本的最后一行后面添加:raw_input()语句,这样直到按下回车键,窗口才关闭。 使用time模块的sleep函数,它有一个参数,传入数...

python try 异常处理(史上最全)

在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! 有时候我们写程序的时候,会出现一些错误或异常,导致程序终止. 为了处理异常,...

python自定义函数实现最大值的输出方法

python中内置的max()函数用来得到最大值,通过冒泡排序也可以。 #!/usr/bin/python def getMax(arr): for i in range(0...