需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到):

/***** 

......

try {
long timestamp = System.currentTimeMillis();
String time = formatter.format(new Date());
String fileName = "smsLog.txt";
if (Environment.getExternalStorageState().equals(Environment.MOUNTED)) {
String path = Environment.getExternalStorageDirectory()+"/";
***
if (!dir.exists()) {
dir.mkdirs();
}

*

fos.write((time + " " + s).getBytes());
fos.close();
}
return fileName;
} catch (Exception e) {
Log.e("sms", "an error occured while writing file...", e);
}
return null;
}

*******/

  android脚本好了,签名+打包,装入手机就好了,安装实验一下:

  自动生成了一个smslog.txt 再打开看一下内容,能正常记录,下面用写一个python脚本截取最后一段的最后四个数字就可以了

通过cmd

adb shell cat /sdcard/smsLog.txt

成功显示文件里的内容

2017-05-16-16-39-27 您好,你的短信验证码为7959
2017-05-16-16-40-09 您好,你的短信验证码为6474
2017-05-16-16-45-22 您好,你的短信验证码为4664
2017-05-16-17-19-47 您好,你的短信验证码为3320
2017-05-16-17-21-20 您好,你的短信验证码为3146
2017-05-16-17-27-40 您好,你的短信验证码为2709
2017-05-16-17-27-43 您好,你的短信验证码为9421
2017-05-16-17-27-46 您好,你的短信验证码为5035
2017-05-16-17-27-48 您好,你的短信验证码为2212
2017-05-16-17-27-49 您好,你的短信验证码为5745
2017-05-16-17-28-28 您好,你的短信验证码为5409
2017-05-16-17-28-32 您好,你的短信验证码为1176
2017-05-16-17-28-33 您好,你的短信验证码为8708
2017-05-16-17-28-35 您好,你的短信验证码为3997
2017-05-16-17-28-37 您好,你的短信验证码为3567
2017-05-16-18-45-57 您好,你的短信验证码为3060

 

在python脚本中再构个函数就解决了

def getSma():    adb = "adb shell cat /sdcard/smsLog.txt"    smsLog = os.popen(adb).readlines()    smscode = smsLog[-1][-6:-2]    return smscode

OK! 脚本登陆RUN,步骤到点击发送验证码之后成功获取并自动填入,短信验证码成功解决,提升了脚本的执行效率和自动化覆盖率!  下周再开始解决图形验证码自动识别问题, 之前用UFT试过识别率太低,这款商业软件越做越不值钱了. 咱不再去求人,自己解决,活着就是为了折腾.

转载于:https://www.cnblogs.com/ai594ai/p/6887947.html

python 自动获取手机短信验证码相关推荐

  1. python读取手机短信信息_python 自动获取手机短信验证码

    需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...

  2. python自动读取短信_自动化测试-自动获取手机短信验证码

    最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...

  3. java代码进行短信接收_自动化测试-自动获取手机短信验证码

    最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...

  4. python群发手机短信_python实现发送和获取手机短信验证码

    首先为大家分享python实现发送手机短信验证码后台方法,供大家参考,具体内容如下 1.生成4位数字验证码 def createPhoneCode(session): chars=['0','1',' ...

  5. atitit 破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结

    atitit.破解  拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4.  ...

  6. Android开发 亲测可用--多种方式获取手机短信验证码自动填入

    Android开发 静态注册.动态注册.短信中心库监控获取手机验证码,自动复制到剪切板或或填入输入框. 友情提醒初学者:这是广播接收器的类,写在xml中静态注册或写在启动类的Oncreate方法下动态 ...

  7. python实现发送和获取手机短信验证码

    生成4位数字验证码 位数字验证码 defcreatePhoneCode(session): chars=['0','1','2','3','4','5','6','7','8','9'] x=rand ...

  8. Android 自动获取输入短信验证码库AutoVerifyCode

    一.简介 Android的短信验证码自动输入库,内嵌自动申请权限,兼容性高,支持多项配置. 短信验证码长度 验证码类型(大写字母.小写字母.大小写字母.数字.数字字母) 短信内容过滤 发送者号码过滤 ...

  9. python 实现发送手机短信验证码后台方法

    1.生成4位数字验证码 def createPhoneCode(session):chars=['0','1','2','3','4','5','6','7','8','9']x = random.c ...

最新文章

  1. 【Network Security!】Linux中apt-get update和apt-get upgrade命令的区别
  2. MICROSOFT SQL SERVER 2005 SEPTEMPTER CTP下载
  3. python绘制如下图形、小三角形边长20_在编程中发现数学之美——使用Python小龟绘制多边形...
  4. js数组的map方法以及parseInt方法
  5. AndroidStudio Gradle自定义属性xmlns无法识别
  6. Android Error:Could not find lottie.jar
  7. Talking Data副总裁高铎:我们如何赋予大数据生命力
  8. 新闻发布系统,我学会了什么?
  9. CSS 相对定位与绝对定位
  10. SQL Server 默认跟踪应用4 -- 检测日志文件自动增长
  11. 呼吁成立中国FreeType联盟
  12. java8实现Joiner:数组集合转换字符串
  13. 兴业数金牛客java笔试题
  14. 怎么在搜索计算机学报的论文,计算机学报方面论文题目 计算机学报论文标题如何定...
  15. 万国数据二季度调整后EBITDA利润率43.5% 高于指引预测
  16. GTX1050 Ti(notebooks)+Ubuntu16.04上安装Cuda8.0
  17. ios 仿电脑qq登录界面_iOS开发UI篇—模仿ipad版QQ空间登录界面-阿里云开发者社区...
  18. word.interop
  19. 彩色空间(Color Space)
  20. lucene配置动态域_学位论文查重中如何使用Lucene全文检索

热门文章

  1. 居中小圆点html,css:li中的list-style小圆点和文字没有居中对齐的解决办法
  2. 百度技术总监谈12306高性能海量并发网站架构设计
  3. umi +qiankun 主应用动态装载子应用(路由)解决方案
  4. 转载:Tim O'Reilly与John Battelle谈即将开幕的Web
  5. 大国沙文主义的沙文是谁
  6. vue移动端点击电话图标跳转拨打电话功能
  7. 005hystrix.stream信息聚合Turbine
  8. 用Eclipse导出能直接运行的jar包
  9. Gerbil:支持GPU加速的kmer count工具
  10. TensorRT 下不同 API 推理时间的对比实验