在Linux中使用Python模拟键盘按键 |
您所在的位置:网站首页 › linux模拟键盘事件 › 在Linux中使用Python模拟键盘按键 |
之前在做自动化测试中需要用Python在linux中模拟Ctrl+V 进行路径粘贴,试了很多种方法,起初用了xerox和pyperclip这两个python库,但打开对话框后调用粘贴API无法进行粘贴,不知道为什么。 然后发现了virtkey这个库,这个库可以在linux 中模拟键盘按键,但网上资料甚少。这个库主要有两个API 1、press_keysym/release_keysym 2、press_unicode/release_unicode 第一个接受keysym作为参数,第二个接受键盘的unicode,键盘unicode用来模拟字母键还是很方便的,但要模拟Ctrl这样的键一直没找到方法,最终找到了一个关于keysym的表,解决了问题,表如下
.keysym .keycode .keysym_num Key Alt_L 64 65513 左手边的Alt键 Alt_R 113 65514 右手边的Alt键 BackSpace 22 65288 BackSpace Cancel 110 65387 Pause Break Caps_Lock 66 65549 CapsLock Control_L 37 65507 左手边的Control键 Control_R 109 65508 右手边的Control键 Delete 107 65535 Delete Down 104 65364 方向键:下 End 103 65367 End Escape 9 65307 Esc Execute 111 65378 系统调用 F1 67 65470 F1 F2 68 65471 F2 Fi 66+i 65469+i Fi F12 96 68481 F12 Home 97 65360 Home Insert 106 65379 Insert Left 100 65361 方向键:左 Linefeed 54 106 Linefeed(Ctrl-j) KP_0 90 65438 数字键:0 KP_1 87 65436 数字键:1 KP_2 88 65433 数字键:2 KP_3 89 65435 数字键:3 KP_4 83 65430 数字键:4 KP_5 84 65437 数字键:5 KP_6 85 65432 数字键:6 KP_7 79 65429 数字键:7 KP_8 80 65431 数字键:8 KP_9 81 65434 数字键:9 KP_Add 86 65451 运算键:+ KP_Begin 84 65437 小键盘:5号键 KP_Decimal 91 65439 “.”键 KP_Delete 91 65439 Delete KP_Divide 112 65455 “/”键 KP_Down 88 65433 方向键:下 KP_End 87 65436 End KP_Enter 108 65421 Enter KP_Home 79 65429 Home KP_Insert 90 65438 Insert KP_Left 83 65430 方向键:左 KP_Multiply 63 65450 运算键:* KP_Next 89 65435 PageDown KP_Prior 81 65434 PageUp KP_Right 85 65432 方向键:右 KP_Subtract 82 65453 “-”键 KP_Up 80 65431 方向键:上 Next 105 65366 PageDown Num_Lock 77 65407 NumLock Pause 110 65299 Pause 111 65377 PrintScreen Prior 99 65365 PageUp Return 36 65293 回车键 Right 102 65363 方向键:右 Scroll_Lock 78 65300 ScrollLock Shift_L 50 65505 左手边的Shift键 Shift_R 62 65506 有手边的Shift键 Tab 23 65289 Tab Up 98 65362 方向键:上
至此,我们可以写出模拟Ctrl+V的代码 import virtkey import time v = virtkey.virtkey() v.press_keysym(65507) #Ctrl键位 v.press_unicode(ord('v')) #模拟字母V v.release_unicode(ord('v')) v.release_keysym(65507) time.sleep(5) v.press_keysym(65421) #Enter v.release_keysym(65421) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |