Pywinauto自动化操作PC微信提取好友微信号
时间:2019-11-25
本文章向大家介绍Pywinauto自动化操作PC微信提取好友微信号,主要包括Pywinauto自动化操作PC微信提取好友微信号使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
声明:https://zhuanlan.zhihu.com/p/29944988#! /usr/bin/env python #coding=utf-8 #pywinauto自动化操作微信号 #by bugscaner http://tools.bugscaner.com import win32clipboard as wc import win32con from pywinauto.application import * from PIL import ImageGrab import time def get_screenxy_from_bmp(main_bmp,son_bmp): #获取屏幕上匹配指定截图的坐标->(x,y,width,height) from PIL import Image img_main=Image.open(main_bmp) img_son=Image.open(son_bmp) datas_a=list(img_main.getdata()) datas_b=list(img_son.getdata()) for i,item in enumerate(datas_a): if datas_b[0]==item and datas_a[i+1]==datas_b[1]: yx=divmod(i,img_main.size[0]) main_start_pos=yx[1]+yx[0]*img_main.size[0] match_test=True for n in range(img_son.size[1]): main_pos=main_start_pos+n*img_main.size[0] son_pos=n*img_son.size[0] if datas_b[son_pos:son_pos+img_son.size[0]] != datas_a[main_pos:main_pos+img_son.size[0]]: match_test=False break if match_test: return (yx[1],yx[0],img_son.size[0],img_son.size[1]) return False def getCopyText(): wc.OpenClipboard() copy_text = wc.GetClipboardData(win32con.CF_TEXT) wc.CloseClipboard() return copy_text oks = [] app = Application().start(r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe") if not app.windows(): app = Application().connect(path=r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe") app.window_(title=u"微信",class_name="WeChatMainWndForPC").move_window(0,0) nb = 0 while 1: if nb > 140: break else: nb = nb + 1 app.window_(title=u"微信",class_name="WeChatMainWndForPC").TypeKeys("{DOWN}") time.sleep(.5) pic = ImageGrab.grab((0,0,623,454)) pic.save('1.bmp') ok = get_screenxy_from_bmp(u'1.bmp',u'weixin.bmp') #选中 app.window_(title=u"微信",class_name="WeChatMainWndForPC").double_click_input(coords=(ok[0]+100,ok[1]+10)) #拷贝 app.window_(title=u"微信",class_name="WeChatMainWndForPC").TypeKeys("^c") app.window_(title=u"微信",class_name="WeChatMainWndForPC").click_input(coords=(208,477)) weixin = getCopyText() if weixin not in oks: print weixin oks.append(weixin) f = open("weixin.txt","a") f.write(weixin+"\n") f.close() else: print u"失败一个"
其中的weixin.bmp为截图的微信字体
---------------------------------------分割线2017年11月-------------------------------------
根据以上思路,已实现自动发送微信消息,但是不方便公开,大家可以尝试一下,想想思路。
原文地址:https://www.cnblogs.com/little-kwy/p/11926084.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CVPR:深度无监督跟踪
- Discourse 数据分发
- Discourse 如何备份到 S3
- Solr集群(即SolrCloud)搭建与使用
- 在CentOS8上安装Surelog
- sqlplus执行错误的问题探究
- 不借助Maven,使用Eclipse创建Hello World级别的Spring项目
- Spring Bean的生命周期
- Spring Bean 后置处理器PostProcessor
- 潘石屹用Python解决100个问题 | 排列组合
- 潘石屹用Python解决100个问题 | 企业根据利润提成发奖金
- 【STM32F407开发板用户手册】第27章
- Spring Bean的继承
- 移动端点击事件延迟的诞生消亡史
- 谈谈电商系统中的商品模块设计