python自带模块模拟鼠标和键盘操作

Posted jojo-jiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自带模块模拟鼠标和键盘操作相关的知识,希望对你有一定的参考价值。

复制自:https://www.cnblogs.com/wumac/p/5994923.html

 

import win32api
import win32con
import win32gui
from ctypes import *
import time
VK_CODE = {
 \'backspace\':0x08,
 \'tab\':0x09,
 \'clear\':0x0C,
 \'enter\':0x0D,
 \'shift\':0x10,
 \'ctrl\':0x11,
 \'alt\':0x12,
 \'pause\':0x13,
 \'caps_lock\':0x14,
 \'esc\':0x1B,
 \'spacebar\':0x20,
 \'page_up\':0x21,
 \'page_down\':0x22,
 \'end\':0x23,
 \'home\':0x24,
 \'left_arrow\':0x25,
 \'up_arrow\':0x26,
 \'right_arrow\':0x27,
 \'down_arrow\':0x28,
 \'select\':0x29,
 \'print\':0x2A,
 \'execute\':0x2B,
 \'print_screen\':0x2C,
 \'ins\':0x2D,
 \'del\':0x2E,
 \'help\':0x2F,
 \'0\':0x30,
 \'1\':0x31,
 \'2\':0x32,
 \'3\':0x33,
 \'4\':0x34,
 \'5\':0x35,
 \'6\':0x36,
 \'7\':0x37,
 \'8\':0x38,
 \'9\':0x39,
 \'a\':0x41,
 \'b\':0x42,
 \'c\':0x43,
 \'d\':0x44,
 \'e\':0x45,
 \'f\':0x46,
 \'g\':0x47,
 \'h\':0x48,
 \'i\':0x49,
 \'j\':0x4A,
 \'k\':0x4B,
 \'l\':0x4C,
 \'m\':0x4D,
 \'n\':0x4E,
 \'o\':0x4F,
 \'p\':0x50,
 \'q\':0x51,
 \'r\':0x52,
 \'s\':0x53,
 \'t\':0x54,
 \'u\':0x55,
 \'v\':0x56,
 \'w\':0x57,
 \'x\':0x58,
 \'y\':0x59,
 \'z\':0x5A,
 \'numpad_0\':0x60,
 \'numpad_1\':0x61,
 \'numpad_2\':0x62,
 \'numpad_3\':0x63,
 \'numpad_4\':0x64,
 \'numpad_5\':0x65,
 \'numpad_6\':0x66,
 \'numpad_7\':0x67,
 \'numpad_8\':0x68,
 \'numpad_9\':0x69,
 \'multiply_key\':0x6A,
 \'add_key\':0x6B,
 \'separator_key\':0x6C,
 \'subtract_key\':0x6D,
 \'decimal_key\':0x6E,
 \'divide_key\':0x6F,
 \'F1\':0x70,
 \'F2\':0x71,
 \'F3\':0x72,
 \'F4\':0x73,
 \'F5\':0x74,
 \'F6\':0x75,
 \'F7\':0x76,
 \'F8\':0x77,
 \'F9\':0x78,
 \'F10\':0x79,
 \'F11\':0x7A,
 \'F12\':0x7B,
 \'F13\':0x7C,
 \'F14\':0x7D,
 \'F15\':0x7E,
 \'F16\':0x7F,
 \'F17\':0x80,
 \'F18\':0x81,
 \'F19\':0x82,
 \'F20\':0x83,
 \'F21\':0x84,
 \'F22\':0x85,
 \'F23\':0x86,
 \'F24\':0x87,
 \'num_lock\':0x90,
 \'scroll_lock\':0x91,
 \'left_shift\':0xA0,
 \'right_shift \':0xA1,
 \'left_control\':0xA2,
 \'right_control\':0xA3,
 \'left_menu\':0xA4,
 \'right_menu\':0xA5,
 \'browser_back\':0xA6,
 \'browser_forward\':0xA7,
 \'browser_refresh\':0xA8,
 \'browser_stop\':0xA9,
 \'browser_search\':0xAA,
 \'browser_favorites\':0xAB,
 \'browser_start_and_home\':0xAC,
 \'volume_mute\':0xAD,
 \'volume_Down\':0xAE,
 \'volume_up\':0xAF,
 \'next_track\':0xB0,
 \'previous_track\':0xB1,
 \'stop_media\':0xB2,
 \'play/pause_media\':0xB3,
 \'start_mail\':0xB4,
 \'select_media\':0xB5,
 \'start_application_1\':0xB6,
 \'start_application_2\':0xB7,
 \'attn_key\':0xF6,
 \'crsel_key\':0xF7,
 \'exsel_key\':0xF8,
 \'play_key\':0xFA,
 \'zoom_key\':0xFB,
 \'clear_key\':0xFE,
 \'+\':0xBB,
 \',\':0xBC,
 \'-\':0xBD,
 \'.\':0xBE,
 \'/\':0xBF,
 \'`\':0xC0,
 \';\':0xBA,
 \'[\':0xDB,
 \'\\\\\':0xDC,
 \']\':0xDD,
 "\'":0xDE,
 \'`\':0xC0}
class POINT(Structure):
 _fields_ = [("x", c_ulong),("y", c_ulong)]
def get_mouse_point():
 po = POINT()
 windll.user32.GetCursorPos(byref(po))
 return int(po.x), int(po.y)
def mouse_click(x=None,y=None):
 if not x is None and not y is None:
     mouse_move(x,y)
     time.sleep(0.05)
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
def mouse_dclick(x=None,y=None):
 if not x is None and not y is None:
     mouse_move(x,y)
     time.sleep(0.05)
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
def mouse_move(x,y):
 windll.user32.SetCursorPos(x, y)
def key_input(str=\'\'):
 for c in str:
     win32api.keybd_event(VK_CODE[c],0,0,0)
     win32api.keybd_event(VK_CODE[c],0,win32con.KEYEVENTF_KEYUP,0)
     time.sleep(0.01)

##if __name__ == "__main__":
while 1:
    mouse_click(800,600)
    time.sleep(5)
    str = \'hello\'
    key_input(str)

以上是关于python自带模块模拟鼠标和键盘操作的主要内容,如果未能解决你的问题,请参考以下文章

[python3.5][PyUserInput]模拟鼠标和键盘模拟

python模拟鼠标和键盘操作

python3 模拟鼠标和键盘操作

python selenium 元素操作之键盘操作

python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等