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