Python开发qq批量登陆
操作步骤:
1.打开qq软件
2.移动鼠标到qq输入处
3.在输入处,点击鼠标,输入帐号
4.模拟按下tab键,输入密码,模拟点回车登录
- #coding=utf-8
- import os
- import win32gui
- import win32api
- import win32con
- import SendKeys
- import time
- from ctypes import *
- #多次登录qq,传入账号密码
- def qqLoad(qq,pwd):
- #使用系统模块os,打开qq
- #必须是单引号+双引号才能运行
- os.system('"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"')
- #留给qq界面点响应时间
- time.sleep(0.2)
- # 获取窗口的句柄,参数1:类名,参数2:标题
- handle = win32gui.FindWindow(None,'QQ')
- #返回指定窗口的显示状态以及被恢复的、最大化的和最小化的窗口位置
- logId = win32gui.GetWindowPlacement(handle)
- print logId
- #设置鼠标位置,横坐标等于左上角数加输入框离左边界的差值,纵坐标等于左上角数加输入框离上边界的差值
- #差值可用截图工具,测量像素差值
- windll.user32.SetCursorPos(logId[4][0]+310,logId[4][1]+280)
- #模拟鼠标点击操作,左键先按下,再松开
- win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
- win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)
- #!!注意,必须要延时,才能正确输入,否则输入内容错误
- time.sleep(0.2)
- #安装SendKeys库,可自动输入内容
- SendKeys.SendKeys(qq)
- time.sleep(0.2)
- #按下tab键,切换到输入密码
- #模拟键盘操作,查看键盘对应asc码,tab键对应asc码是9
- #先按下,再松开
- win32api.keybd_event(9,0,0,0)
- win32api.keybd_event(9,0,win32con.KEYEVENTF_KEYUP,0)
- time.sleep(0.2)
- #输入密码,点击回车键登录
- SendKeys.SendKeys(pwd)
- time.sleep(0.2)
- win32api.keybd_event(13,0,0,0)
- win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0)
- if __name__ == '__main__':
- #在文件中读取帐号密码信息
- fn = 'D:\info.txt'
- fr = open(fn,'r').readlines()
- #循环打开每一行,使用split分成列表
- for i in fr:
- info = i.split('----')
- qqLoad(str(info[0]),str(info[1]))
Python开发qq批量登陆的更多相关文章
- 源码分享篇:使用Python进行QQ批量登录
直接上源码 1 #coding=utf-8 2 __author__ = 'Eagle' 3 import os 4 import time 5 import win32gui 6 import wi ...
- C#网站实现QQ第三方登陆# C#快速开发教程
C#网站实现QQ第三方登陆 说起在网站上面可以直接使用QQ登录功能大家并不陌生.但翻其官方提供的SDK包中却没有C#方向的. 但是我们有个牛人叫张善友,做了一个民间SDK.下面我们就是用他所写的SDK ...
- TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具
怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...
- python 开发之路 - 入门
一. python 介绍 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.1991年 发布Python ...
- Python开发爆破工具
上一篇讲到了如何用Python开发字典,而当我们手里有了字典 就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写 接下来我就要一步一步来写爆破工具! 爆破MySQL: 想要爆破MySQL ...
- Python + Selenium +Chrome 批量下载网页代码修改【新手必学】
Python + Selenium +Chrome 批量下载网页代码修改主要修改以下代码可以调用 本地的 user-agent.txt 和 cookie.txt来达到在登陆状态下 批量打开并下载网页, ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- Python黑帽编程1.2 基于VS Code构建Python开发环境
Python黑帽编程1.2 基于VS Code构建Python开发环境 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...
- Python 开发轻量级爬虫05
Python 开发轻量级爬虫 (imooc总结05--网页下载器) 介绍网页下载器 网页下载器是将互联网上url对应的网页下载到本地的工具.因为将网页下载到本地才能进行后续的分析处理,可以说网页下载器 ...
随机推荐
- Java堆内存不足
1)使用IDEA开发程序时有时候会提示“Java Heap space error”,说明IDEA默认配置的Java堆内存不足,程序需要更多的堆内存. 2)堆(Heap)和非堆(Non-heap)内存 ...
- Scala实战高手****第1课:大数据时代的“黄金”语言Scala
共计28课,每节课程在1个小时左右. 每天至少2个课程.预计在11.30号完成. ——————————————————
- Swift中计算String的长度
extension String { var length: Int { return countElements(self) } // Swift 1.1 } extension ...
- Java下List<Long>转List<String>或者List<Long>转List<Integer>
说明:很遗憾,没有快速方法,只能遍历然后循环增加进去. 方法: for(String str : list) { int i = Integer.paseInt(str); intList.add(i ...
- nodeJs建立简单的服务器
var http = require('http');//http依赖 var hostname = '127.0.0.1';//本地 var port = 3000;//端口 var server ...
- SpringMVC学习记录(七)--拦截器的使用
SpringMVC的请求如以下这样的图所看到的: 能够看出全部的请求都要通过Dispatherservlet来接收,然后通过Handlermapping来决定使用哪个控制器,再依据ViewResolv ...
- YUV12(420) (from)to RGB24
直接上代码 #include <opencv2/opencv.hpp> #include <stdio.h> #define min(a,b) ((a<b)?a:b) # ...
- 好未来AI Lab 思考下面的问题
好未来AI Lab和科赛联合举办的TAIL CAMP——AI实战训练营 图像识别: 卷积层是所有CNN网络中必不可少的模块,请解释为什么3X3的卷积是最为常用的卷积核大小?小尺寸卷积核(1x1)和大尺 ...
- pl/sql游标
通过游标,我们可以取得返回结果集的任何一行记录,提高效率. 定义游标: type 游标名 is ref cursor 变量名 游标名 打开游标: open 游标变量 for select语句: 取出当 ...
- 使用Python发送电子邮件
使用python发送邮件并不难,这里使用的是SMTP协议. Python标准库中内置了smtplib,使用它发送邮件只需提供邮件内容与发送者的凭证即可. 代码如下: # coding:utf-8 im ...