python模拟键盘输入的问题

查看:532
本文介绍了python模拟键盘输入的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

这是一段自动登录QQ的代码,我感觉是def an()出了问题,但是我看不出问题在哪儿。

import subprocess
import win32api
import win32con
import time

from ctypes import *

qq_exe = r"D:\qq\Bin\QQ.exe"
subprocess.Popen([qq_exe])      #打开QQ
time.sleep(5)

windll.user32.SetCursorPos(969, 583)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)      #点击账号输入框
time.sleep(0.5)

def an(qq):
    for i in qq:
        #print(i)
        win32api.keybd_event(ord(i),0,0,0) 
        win32api.keybd_event(ord(i),0,win32con.KEYEVENIF_KEYUP,0)
        time.sleep(0.5)

an("********")      #输入账号

win32api.keybd_event(9,0,0,0)
win32api.keybd_event(9,0,win32con.KEYEVENIF_KEYUP,0)    #Tab

an("**********")    #输入密码
win32api.keybd_event(13,0,0,0)
win32api.keybd_event(13,0,win32con.KEYEVENIF_KEYUP,0)

错误提示是

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\dakai QQ.py", line 25, in <module>
    an("********")
  File "C:\Users\Administrator\Desktop\dakai QQ.py", line 22, in an
    win32api.keybd_event(ord(i),0,win32con.KEYEVENIF_KEYUP,0)
AttributeError: 'module' object has no attribute 'KEYEVENIF_KEYUP'

谁可以告诉我知道问题在哪儿?怎么解决。

解决方案

KEYEVENIF_KEYUP错误

应该是KEYEVENTF_KEYUP

I(i) 和 T(t)的区别

这篇关于python模拟键盘输入的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆