<40>python学习笔记——用python批量登陆QQ

来源:互联网 发布:google earth mac 编辑:程序博客网 时间:2024/05/04 01:35

通过这个小小的过程来学习python中鼠标键盘以及win32的使用

代码1:自动化登陆单个QQ。登陆后最小化QQ界面。

import win32guiimport subprocessimport timefrom pymouse import PyMousefrom pykeyboard import PyKeyboardm = PyMouse() #创建鼠标实例k = PyKeyboard() #创建键盘实例def qq_load():    #用subprocess模块打开qq程序    qq_exe = 'D:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe'    subprocess.Popen([qq_exe])    #给qq留点启动时间    time.sleep(0.2)    #获取窗口的句柄,参数1:类名,参数2:标题    handle = win32gui.FindWindow('TXGuiFoundation','QQ')    print(handle)    #获取窗口左上角和右下角坐标    left,top,right,bottom = win32gui.GetWindowRect(handle)    print(left,top,right,bottom)    #将鼠标移动到账号输入框位置    # m.move(885,580)    time.sleep(1)    #移动鼠标到账号输入框并按下鼠标    m.click(885,580,1,1)    xy = m.position()    print(xy)    #模拟键盘输入字符串    k.type_string('1731980000')    #点击tab键,键盘对应的kyecode码0    k.tap_key(9)    #模拟键盘输入字符串    k.type_string('asdf@#aaaa')    #点击tab键    k.tap_key(9)    #点击回车    k.tap_key(13)    #获取打开的qq窗口的句柄    time.sleep(2)    w = win32gui.FindWindow('TXGuiFoundation','QQ')    #最小化窗口    win32gui.CloseWindow(w)if __name__ =='__main__':    qq_load()

练习2:批量登陆QQ

目前只能登陆成果约70%的号码,中途会出错,显示一部分号码已经登陆而没有输入正确的号码去登陆

'''步骤:1 / 打开QQ软件2 / 移动鼠标到QQ号码输入处3 / 在输入框点击鼠标,输入账号4 / 模拟按下tab键,切换到密码框,输入密码5 / 模拟点回车登陆6 / 每登陆10个就杀死腾讯QQ多客户端管理服务'''import win32guiimport subprocessimport timefrom pymouse import PyMousefrom pykeyboard import PyKeyboardimport osm = PyMouse() #创建鼠标实例k = PyKeyboard() #创建键盘实例def qq_load(account,password):    qq_exe = 'D:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe'    subprocess.Popen([qq_exe])#用subprocess模块打开qq程序    time.sleep(0.5)#给qq留点启动时间    handle = win32gui.FindWindow(None,'QQ')#获取窗口的句柄,参数1:类名,参数2:标题    left,top,right,bottom = win32gui.GetWindowRect(handle)    print(left,top,right,bottom)    time.sleep(0.5)    new_x = int(left+(right-left)/2)-70 #账号输入框坐标    new_y = int(top+(bottom-top)/2)+40 #账号输入框坐标    m.click(new_x,new_y,1,2)#移动鼠标到账号输入框并按下鼠标    k.type_string(account)#模拟键盘输入字符串    print('%s 正在登陆……'%account)    time.sleep(0.5)    k.tap_key(9)#点击tab键,键盘对应的kyecode码    k.type_string(password)#模拟键盘输入字符串    time.sleep(1.5)    window = win32gui.FindWindow(None,'QQ')#获取打开的qq窗口的句柄    # print(w)    win32gui.CloseWindow(window)#最小化窗口def qq_data(f):    with open(f,'r') as f:        # f = f.readline() #单条测试用代码        # account = f.split('----')[0]        # password = f.split('----')[1]        # print(account,password)        # qq_load(account,password)        i = 1        for f in f.readlines():            if i%10==0:                os.system('taskkill /f /im TXPlatform.exe') #杀死腾讯QQ多客户端管理服务                account = f.split('----')[0]                password = f.split('----')[1]                qq_load(account,password)                time.sleep(2.5)                i +=1                continue            else:                account = f.split('----')[0]                password = f.split('----')[1]                qq_load(account,password)                time.sleep(2.5)                i +=1            print(i)if __name__ =='__main__':    f = 'E:\\账号资料\\QQdata.txt'    qq_data(f)


0 0
原创粉丝点击