这是一份来自网络的代码,经过了我的修改和验证。
首先我的运行环境是Python3.7,需要安装PyUserInput库。
直接上代码吧:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#!/usr/bin/python
import os
import time
import win32gui
import win32api
import win32con
import pymouse,pykeyboard
from pymouse import *
from pykeyboard import PyKeyboard
from ctypes import *
def QQ(qq,pwd):
#运行QQ
os.system( '"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"' )
time.sleep( 5 )
#获取QQ的窗口句柄
#参数1是类名,参数2是QQ软件的标题
a = win32gui.FindWindow( None , "QQ" )
#获取QQ登录窗口的位置
loginid = win32gui.GetWindowPlacement(a)
print (loginid)
print (loginid[ 4 ][ 0 ])
print (loginid[ 4 ][ 1 ])
#定义一个键盘对象
k = PyKeyboard()
#把鼠标放置到登陆框的输入处
windll.user32.SetCursorPos(loginid[ 4 ][ 0 ] + 192 ,loginid[ 4 ][ 1 ] + 112 )
#按下鼠标再释放
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0 , 0 , 0 , 0 ) #press mouse
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0 , 0 , 0 , 0 ) #release mouse
time.sleep( 2 )
###input username
print (qq)
#输入用户名
k.type_string(qq)
time.sleep( 0.2 )
##tab
#按下tab,切换到输入密码的地方
win32api.keybd_event( 9 , 0 , 0 , 0 )
win32api.keybd_event( 9 , 0 ,win32con.KEYEVENTF_KEYUP, 0 )
#按下tab用下面两行也行
#k.press_key(k.tab_key)
#k.release_key(k.tab_key)
#按下tab用下面一行也行
#k.tap_key(k.tab_key)
#输入密码
k.type_string(pwd)
#按下回车
win32api.keybd_event( 13 , 0 , 0 , 0 )
win32api.keybd_event( 13 , 0 ,win32con.KEYEVENTF_KEYUP, 0 )
if __name__ = = "__main__" :
fn = "qq.txt"
F = open (fn, "r" ).readlines()
for i in F:
tx = i.split( '----' )
print (tx[ 0 ]) #打印用户名
print (tx[ 1 ]) #打印密码
QQ(tx[ 0 ],tx[ 1 ])
|
上面就是自动登录QQ的代码了,但是批量登录的时候还是有问题,因为登录了一个之后,再次打开登录窗口,会记录下上次登录的用户名,导致再次登录新号时失败!
不知到你有没有可行的解决方案,能批量登录QQ?期待…
到此这篇关于Python自动登录QQ的实现示例的文章就介绍到这了,更多相关Python自动登录QQ内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/sessos/article/details/88599210