python 模拟键盘 linux,在Linux中使用Python模拟键盘按键,linuxpython
在Linux中使用Python模拟键盘按键,linuxpython
之前在做自动化测试中需要用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)
http://www.dengb.com/wlaqjs/1332481.htmlwww.dengb.comtruehttp://www.dengb.com/wlaqjs/1332481.htmlTechArticle在Linux中使用Python模拟键盘按键,linuxpython 之前在做自动化测试中需要用Python在linux中模拟Ctrl+V 进行路径粘贴,试了很多种方法,起初用了...
python 模拟键盘 linux,在Linux中使用Python模拟键盘按键,linuxpython相关推荐
- php运行python爬虫_群晖系统中运行python爬虫程序
重要:本文最后更新于2021-01-28 17:02:43,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. 准备入手一台NAS,事先的学习是必须的,今天在VM虚拟机中安装好NAS后, ...
- TX2(Linux)在Qt中调用python函数
实验环境:TX2使用JetPack-L4T-3.3-linux-x64_b39进行环境安装 详情参考:Jetpack3.3刷机 安装的python版本为3.5.2 1.创建Qt工程 在Qt中创建一个Q ...
- qt如何用python结合_在Qt(C++)中与Python混合编程
一.PythonQt库 在Qt(C++)中与Python混合编程,可以使用PythonQt库. 网站首页:http://pythonqt.sourceforge.net 下载页面:https://so ...
- vim显示python嵌套级_在Vim中为Python突出显示语法
Vim中针对Python的语法突出显示(目标是Ubuntu 12.10) 这是有关如何在Ubuntu 12.10的Python中设置语法突出显示的演练. 你所看到的就是你得到的: [https://g ...
- python关闭exe程序_Win 10 中使用 Python 碰到的奇怪现象
优质文章,第一时间送达! 作者:流光飞舞 来源:https://shuhari.dev/blog/2019/11/win10-store-python 最近在使用 Python 的时候发生了很奇怪的现 ...
- Python 结束程序——如何在终端中退出 Python 程序
您可以在终端中执行 Python 代码,就像在 VS Code.Atom 等 IDE 中一样.您可以在 Windows 和 Unix 操作系统(如 Linux 和 macOS)中执行此操作. 在本文中 ...
- python selenium 下拉列表_从下拉列表中选择python selenium选项
我试图使用下面的代码使用selenium(python)从网页上的下拉列表中选择一个选项.在from selenium import webdriver from selenium.webdriver ...
- python好还是c+-嵌入式系统中,Python与C/C++哪方更为适用?
[51CTO.com快译]长久以来,C/C++一直编译着嵌入式系统编程领域,但二者亦拥有自己的缺陷.相比之下,Python则成为嵌入式系统中的另一大***语言选项.在今天的文章中,我们将共同探讨双方的 ...
- python调用rust_在 Rust 代码中编写 Python 是种怎样的体验?
本文为转载摘要,完整版请移步: https://mp.weixin.qq.com/s/YT_HNFDCQ_IyocvBkRNJnA 以下为译文: 大约一年前,我发布了一个名为inline-python ...
- python注入进程_向进程中注入Python代码
我想把Python代码注入到一个进程中,当它注入时,它似乎会使我的进程崩溃.我没有在我自己的程序中得到任何错误,但目标进程停止工作.被调用的非托管api没有给我任何错误,并且似乎已经正确地执行了它们的 ...
最新文章
- 继承和多态 2.0 -- 继承的六个默认成员函数
- 轻松掌控全链路服务监控:方案概述与对比 | 真的很干!
- R语言画Cox回归森林图
- freemarker该阵列
- redis序列化_scrapy_redis中序列化源码及其在程序设计中的应用
- 知乎高赞:看懂这个颠覆世界观的认知,远比做1000道题更有用!
- View绘制详解(三),扒一扒View的测量过程
- 模拟电路--可编程数字稳压电源的设计
- CSS3 背景起始位置 background-origin属性
- 知乎首次举办上星晚会 定档除夕前夜
- 手机wps怎么设置语言_怎么使用手机对路由器进行设置
- MySQL 5.7升级到8.0详细过程
- 相关滤波的视觉目标跟踪算法学习
- [Excel图表] 搞定散点图
- 程序员培训班要多少米?报名很贵吗?
- 计算机在中医临床学的应用,中医临床学术论文(2)
- ECS 入门到入土: 一、什么是 ECS
- android获取其他app布局,关于android:如何从App的(布局)XML变量中获取Manifest版本号?...
- IDEA导入插件依赖后Maven报错:java.lang.RuntimeException: Cannot reconnect.
- 监控时代,那无处安放的隐私
热门文章
- 电子电路学习笔记(14)——LDO(低压差线性稳压器)
- macOS 安装lrzsz
- php imap 安装_php7安装imap扩展
- vb3.0 升级vb6.0_将VB6升级到VB.NET(性能改进)
- LANDESK操作系统部署时,怎么默认恢复到客户端C盘配置
- [最小割最大流 || 最短路] roadblock Dinic SPFA + SLE
- XShell下载安装及使用(免费版)
- 11G新特性 -- archival(long-term)backups
- 美通社企业新闻汇总 | 2019.1.23 | 上海迪士尼建疯狂动物城园区;戴森运营总部移至新加坡...
- KubeEdge环境搭建(支持网络插件flannel)