在Linux中使用Python模拟键盘按键
来源:互联网 发布:龙应台我的祖国 知乎 编辑:程序博客网 时间:2024/05/29 04:42
之前在做自动化测试中需要用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)
- 在Linux中使用Python模拟键盘按键
- 在Linux中使用Python模拟键盘按键
- 在Linux中使用Python模拟键盘按键
- 如何在程序中模拟键盘的按键事件?
- linux模拟键盘按键方案(收藏)
- linux下鼠标键盘按键的模拟
- 驱动中实现模拟键盘按键
- 驱动中实现模拟键盘按键
- 驱动中实现模拟键盘按键
- 【原创】驱动中实现模拟键盘按键
- 【QTP】使用SendKeys来模拟键盘按键
- C# 使用keybd_event()函数模拟键盘按键
- 在Revit中模拟按键
- 模拟键盘按键
- 模拟键盘按键
- 模拟键盘按键
- 模拟键盘按键
- 模拟键盘按键
- Data语意学
- unity3D ShaderLab <四>漫反射光照改善技巧
- js删除数组里的某个元素
- C++ 类中的成员模板
- 试验
- 在Linux中使用Python模拟键盘按键
- !!!!二级指针应用部分的一点重要总结!!!
- 使用 JAX-RS 简化 REST 应用开发
- unresolved external symbol __report_rangecheckfailure 解决思路
- raspivid实时播放显示
- 剪花布条
- 初到CSDN博客~
- 数字逆序且求个位数乘积
- 外网、内网,app互相通信,消息反向发送