Python实现QQ批量自动登录的两种脚本方案
本文介绍了利用Python实现QQ批量自动登录的两种代码方案。第一种方案基于PyKeyboard和PyMouse库进行鼠标键盘模拟;第二种方案结合SendKeys库处理账号密码输入。两者均通过获取窗口句柄定位界面,模拟点击与按键完成登录流程。文中提供了完整代码示例,适用于熟悉Python基础及Windows API调用的开发者参考,需注意路径配置与依赖库安装。
Python实现QQ批量自动登录方案概述
本文分享利用Python实现QQ批量登录功能的具体代码实现,供读者参考学习。
基于PyKeyboard与PyMouse的登录脚本
首先展示的是基于Python 3.6环境编写的QQ批量登录脚本。
import os
import time
import win32gui
import win32api
import win32con
from ctypes import *
from pykeyboard import PyKeyboard
from pymouse import PyMouse
# 实例化PyKeyboard和PyMouse
m = PyMouse()
k = PyKeyboard()
def QQ_login():
# 打开qq
os.startfile(r'C:\Program Files\Tencent\QQ\Bin\QQScLauncher.exe')
# 获取窗口的句柄
time.sleep(2)
# 获取窗口的句柄
handle = win32gui.FindWindow(None, 'QQ')
# 返回指定窗口的显示状态以及被恢复的、最大化的和最小化的窗口位置354 a
loginid = win32gui.GetWindowPlacement(handle)
print(loginid, loginid[4][0])
# 设置鼠标位置,横坐标等于左上角数加输入框离左边界的差值,纵坐标等于左上角数加输出狂上边界差值
# 差值可用截图工具,测量像素差值
windll.user32.SetCursorPos(loginid[4][0] + 310, loginid[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.1)
k.type_string('qq_name')
time.sleep(0.1)
# tab切换
win32api.keybd_event(9, 0, 0, 0)
win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
k.type_string('password')
# 点击回车键登陆
win32api.keybd_event(13, 0, 0, 0)
win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
if __name__ == '__main__':
QQ_login()
结合SendKeys库的批量登录实现
其次介绍另一种使用Python进行QQ批量登录的实现方式。
#coding=utf-8
__author__ = 'Eagle'
import os
import time
import win32gui
import win32api
import win32con
import SendKeys
from ctypes import *
def QQ(qq,pwd):
a = win32gui.FindWindow(None, "QQ")
#运行QQ
os.system('"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"')
time.sleep(5)
a= win32gui.FindWindow(None,"QQ") # 获取窗口的句柄,参数1: 类名,参数2: 标题QQ
loginid= win32gui.GetWindowPlacement(a)
windll.user32.SetCursorPos(loginid[4][0]+300, loginid[4][1]+273 )
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(qq)
time.sleep(0.2)
##tab切换
##Python学习群125240963
win32api.keybd_event(9,0,0,0)
win32api.keybd_event(9,0,win32con.KEYEVENTF_KEYUP,0)
SendKeys.SendKeys(pwd)
#点击回车键登录
win32api.keybd_event(13,0,0,0)
win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0)
#读取账号密码文件例如: 1234567----she123456 #账号密码四个- 分隔
fn = "C:\\qq.txt" #此文件可以自定义,但是路径要一定对
#打开账号密码文件
F = open(fn,"r").readlines()
#分隔账号密码,传两个参数,账号密码
for i in F:
tx = i.split("----")
QQ(tx[0],tx[1])
感谢各位技术爱好者的代码分享。
以上内容为本文的全部介绍,希望能为读者的编程学习提供有益帮助,同时也欢迎持续关注本站获取更多技术资源。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













