之前在做自动化测试中需要用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
</
|