python模拟鼠标拖动操作
发布时间:2020-12-17 17:28:15 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 ## _*_ coding:UTF-8 _*___author__ = 'wp'import win32apiimport win32conimport win32guifrom ctypes import *import timeSW = 1377SH = 768VK_CODE
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 # # _*_ coding:UTF-8 _*_ __author__ = 'wp' import win32api import win32con import win32gui from ctypes import * import time SW = 1377 SH = 768 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) time.sleep(0.05) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0) def mouse_dclick(x=None,0) time.sleep(0.05) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0) def mouse_move(x,y): windll.user32.SetCursorPos(x,y) def mouse_absolute(x,y,x2,y2): windll.user32.SetCursorPos(x,y) #鼠标移动到 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0) #左键按下 time.sleep(0.2) mw = int(x2 * 65535 / SW) mh = int(y2 * 65535 / SH) win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE + win32con.MOUSEEVENTF_MOVE,mw,mh,0) time.sleep(0.2) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0) def key_input(str=''): for c in str: win32api.keybd_event(VK_CODE[c],0) win32api.keybd_event(VK_CODE[c],win32con.KEYEVENTF_KEYUP,0) time.sleep(0.01) def t0(): pass #do nothing def t2(): mouse_click(800,200) for c in 'hello': win32api.keybd_event(65,0) #a键位码是86 win32api.keybd_event(65,0) #print get_mouse_point() def t1(): #mouse_move(1024,470)aa #time.sleep(0.05) #mouse_dclick()HELLO mouse_dclick(1024,470) def t3(): mouse_click(1024,470) str = 'hello' for c in str: win32api.keybd_event(VK_CODE[c],0) #a键位码是86 win32api.keybd_event(VK_CODE[c],0) time.sleep(0.01) def t4(): mouse_click(900,300) str = 'hello' key_input(str) def t5(): #拖动pdf中的书签 po = POINT() windll.user32.GetCursorPos(byref(po)) j = 50 #操作次数 x = 766 #x y = 500 #y n = 10 #上移10 for i in range(0,j): mouse_absolute(x,x,y-n) #windll.user32.SetCursorPos(po.x,po.y) mouse_click(po.x,po.y) print(str(j-i)) if __name__ == "__main__": t5() #move pdf bookmark #t4() #t3() #t2() #t1() #t0() 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |