python 采坑总结 调用键盘事件后导致键盘失灵的可能原因

在练习python封装键盘事件的时候,实现一个keyDown和keyUp的功能:

@staticmethod
    def keyDown(keyName):
        #按下按键
        win32api.keybd_event(KeyboardKeys.VK_CODE[keyName],0,0,0)

@staticmethod
    def keyUp(keyName):
        #释放按键
        win32api.keybd_event(KeyboardKeys.VK_CODE[keyName],0,win32con.KEYEVENTF_KEYUP,0)
   
    @staticmethod
    def twoKeys(key1,key2):#对前面函数的调用
        #模拟两个组合键
        KeyboardKeys.keyDown(key1)
        KeyboardKeys.keyDown(key2)
        KeyboardKeys.keyUp(key2)
        KeyboardKeys.keyUp(key1)

执行了twoKeyw(‘ctrl‘,‘v‘)之后,粘贴没问题,但是执行之后键盘不好用了,按键的功能都错乱了,要么就是没反应。

后来发现是因为keyUp()函数里的代码写的有问题,导致执行keyUp()的时候没执行成功,结果就是把按键按下去了,但是没给他弹起来,所以键盘就不好用了

原文地址:https://www.cnblogs.com/xiaxiaoxu/p/9351213.html

时间: 2024-11-06 21:49:01

python 采坑总结 调用键盘事件后导致键盘失灵的可能原因的相关文章

android监听软键盘事件并获取键盘高度

@Override public void onResume(){ super.onResume(); //获取当前屏幕内容的高度 getWindow().getDecorView().addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldL

《selenium2 python 自动化测试实战》(5)——键盘事件

键盘事件,就是键盘上的一些操作,比如Ctrl +C,Ctrl+V,Ctrl+X等. 对键盘的操作需要导入另一个键盘的库: from selenium.webdriver.common.keys import Keys 举个例子,你要在搜索框输入"自动化测试",但是现在又想搜"自动化测",就是删掉一个字,我们知道,就是摁一下键盘上的Backspace键就可以了,这时候你就需要键盘操作了: driver.find_element_by_xpath("xpath

键盘事件(jQuery)

1jQuery键盘事件之keydown()与keyup()事件 鼠标有mousedown,mouseup之类的事件,这是根据人的手势动作分解的2个触发行为.相对应的键盘也有这类事件,将用户行为分解成2个动作,键盘按下与松手,针对这样的2种动作,jQuery分别提供了对应keydown与keyup方法来监听 keydown事件: 当用户在一个元素上第一次按下键盘上字母键的时候,就会触发它.使用上非常简单,与基本事件参数处理保持一致,这里使用不在重复了,列出使用的方法 //直接绑定事件 $elem.

OnKeyListener键盘事件验证银行帐号

可以通过键盘事件对EMAIL进行验证(这是网上最多的例子),也可以加入关键字非法文字的过滤.如果要监听键盘事件,必须知道按下和松开两种不同的操作,在OnKeyEvent可以找到按下松开的键.我们这个案例是输入银行卡号,用大字四个一组分隔回显出来,用于提醒是否输错! 知识点:OnKey 一.设计界面 1.打开“res/layout/activity_main.xml”文件. (1)从工具栏向activity拖出1个文本编辑框EditText.2个文本标签TextView. 3.打开activity

jQuery-3.事件篇---键盘事件

jQuery键盘事件之keydown()与keyup()事件 鼠标有mousedown,mouseup之类的事件,这是根据人的手势动作分解的2个触发行为.相对应的键盘也有这类事件,将用户行为分解成2个动作,键盘按下与松手,针对这样的2种动作,jQuery分别提供了对应keydown与keyup方法来监听 keydown事件: 当用户在一个元素上第一次按下键盘上字母键的时候,就会触发它.使用上非常简单,与基本事件参数处理保持一致,这里使用不在重复了,列出使用的方法 //直接绑定事件 $elem.k

JQuery——键盘事件.keydown()、.keyup()和.keypress()

键盘事件.keydown()..keyup()和.keypress() 1   .keydown()当用户在一个元素上第一次按下键盘上字母键的时候,就会被触发,与基本事件参数处理保持一致 2   .keyup()当用户在一个元素上第一次松手键盘上的键的时候,就会被触发,使用方法与keydown是一致的只是触发的条件是方法的 3   理论上它可以绑定到任何元素,但keydown/keyup事件只是发送到具有焦点的元素上,不同的浏览器中,可获得焦点的元素略有不同,但是表单元素总是能获取焦点,所以对于

jquery 键盘事件 keypress() keydown() keyup()

事件的定义 完整的 key press 过程分为两个部分:1. 按键被按下:2. 按键被松开. 当按钮被按下时,发生 keydown 事件. keydown() 方法触发 keydown 事件,或规定当发生 keydown 事件时运行的函数. 当按钮被松开时,发生 keyup 事件.它发生在当前获得焦点的元素上. keyup() 方法触发 keyup 事件,或规定当发生 keyup 事件时运行的函数. keypress 事件与 keydown 事件类似.当按钮被按下时,会发生该事件.它发生在当前

js键盘事件和焦点事件

键盘事件onkeydown //当键盘按下的时候触发onkeyup //但键盘抬起的时候触发event.keyCode //数字类型 键盘按键的键值功能键 ctrlkey shiftkey altkey //返回的是布尔值 不是所有元素都能接收键盘事件,能够响应用户输入的元素,能够坚守焦点的元素就能接收键盘事件 document是可以接收键盘事件的 焦点:使浏览器能够区分用户输入的对象:当一个元素有焦点的时候,那么他就可以接收用户的输入.我们可以通过一些方式给元素设置焦点 1 点击 2 tab键

自动化测试基础篇--Selenium鼠标键盘事件

前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和密码,怎么点击登录按钮,首先我们先回顾一下元素的基本操作. 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 4.提交表单:submit() 今天这篇文章着重讲一下键盘和鼠标的模拟事件. 一.鼠标事件 1.首先模拟鼠标的操作需要先导入鼠标模块: from selenium.webdriver.common.action_chains