代码:在执行的时候,把光标放在指定的地方,在此例中,点击运行后把光标放到结果区域,粘贴的时候是粘贴到光标所在的问题,如过是运行脚本在web元素输入框中输入的话,不能移动光标到其他位置

#encoding=utf-8
import win32api
import win32con

class KeyboardKeys(object):
    #模拟键盘按键类
    VK_CODE={
        'enter':0x0D,
        'ctrl':0x11,
        'v':0x56}

@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 oneKey(key):#对前两个方法的调用
        #模拟单个按键
        KeyboardKeys.keyDown(key)
        KeyboardKeys.keyUp(key)

@staticmethod
    def twoKeys(key1,key2):#对前面函数的调用
        #模拟两个组合键
        KeyboardKeys.keyDown(key1)
        KeyboardKeys.keyDown(key2)
        KeyboardKeys.keyUp(key2)
        KeyboardKeys.keyUp(key1)

if __name__=='__main__':
    from util.clipboard import *
    from selenium import webdriver
    import time
    Clipboard.setText(u"hello world")
    time.sleep(3)
    # driver=webdriver.Firefox(executable_path=r'c:\\geckodriver')
    # driver.get('http://www.baidu.com')
    # driver.find_element_by_xpath("//input[@id='kw']").click()
    # KeyboardKeys.twoKeys("ctrl","v")
    KeyboardKeys.twoKeys('ctrl','v')

结果:ok

C:\Python27\python.exe D:/test/hybrid_version2/util/keyboard.py
hello world
Process finished with exit code 0

python 模拟windows键盘按键的封装的更多相关文章

  1. python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

    0.关键实现:程序窗口前置 python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作 1.参考 aut ...

  2. C# 模拟Windows键盘事件

    发送键盘消息 [DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true) ...

  3. 在C#程序中模拟发送键盘按键消息

    using System.Runtime.InteropServices; 引入键盘事件函数 [DllImport("user32.dll")]public static exte ...

  4. C++ 模拟虚拟键盘按键表

    键盘VK键值列表 /* Virtual Keys, Standard Set*/ VK_LBUTTON                                      0x01 VK_RBU ...

  5. windows键盘按键输入错乱;

    问题:打字异常,打字乱码: 最佳解决方案:下载工具快速修复: 链接: 链接:https://pan.baidu.com/s/1GpWT-MljgQHorLNMhQ9eOg提取码:anh0 官网文档原因 ...

  6. Python模拟鼠标和键盘操作实现重复性操作

    前言 由于工作需要,要利用某软件去采集数据,做重复的动作大概500多次.所以想写一个程序代替人,去点击和输入. 一开始的思路有两个:1.用Python或者windows对此软件直接操作.2.利用Pyt ...

  7. python 模拟按键模拟键盘按键按下放开

    python模拟按键 pip install pypiwin32安装库 import win32conimport win32apiimport time 导入 打个比方模拟A win32api.ke ...

  8. Python模拟键盘输入和鼠标操作

    Python模拟键盘输入和鼠标操作 一.Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0,0,0)  #c ...

  9. UI自动化测试(四)AutoIT工具使用和robot对象模拟键盘按键操作

    AutoIT简介 AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/ ...

随机推荐

  1. [sharepoint]Office Web Apps for SharePoint 2010

    Office Web Apps for SharePoint 2010 2012年09月20日 ⁄ 综合 ⁄ 共 908字 ⁄ 字号 小 中 大 ⁄ 评论关闭 After you install Of ...

  2. jfinal如何设置使用哪种模板引擎(视图)

    1.jfinal\com\jfinal\core\Controller.java /** * Render with view use default type Render configured i ...

  3. mysql 存储过程用程序调的问题

    记一下,存储过程加了commit结果用mysql客户端执行不报错,用jdbcTemplate执行就执行了一步,因为加了commit后面的程序都不跑了.另外 存储过程里面如果用java调的话select ...

  4. CSU 1809 - Parenthesis - [前缀和+维护区间最小值][线段树/RMQ]

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1809 Bobo has a balanced parenthesis sequenc ...

  5. Pandas的concat方法

    在此我用的concat作用是加入新的记录,存储数据来用过的,不知道数据量大时候,效率会怎样 # 使用pandas来保存数据 df1 = pd.DataFrame([poem], columns=['p ...

  6. 【紫书】Trees on the level UVA - 122 动态建树及bfs

    题意:给你一些字符串,代表某个值被插入树中的位置.让你输出层序遍历. 题解:动态建树. 由于输入复杂,将输入封装成read_input.注意输入函数返回的情况 再将申请新节点封装成newnode(). ...

  7. <!DOCTYPE html>有什么用?

    <!DOCTYPE html> 是文档声明,必须放在文档第一行,它的作用就是告诉浏览器以哪个html版本来解析你的html代码.当你不写声明的时候,浏览器就会以自己的怪异模式来解析你的ht ...

  8. paas容器云

  9. js实现点击div以外区域,隐藏div区域

    <body style="text-align:center;"> <input type="text" style="width: ...

  10. Mirror--如何对运行中的镜像端点更换证书

    如果使用证书配置镜像时,没有设置证书的时间,则默认证书有效期为一年,当证书快过期时,需要更换证书. 下面代码演示如何对正在运行的镜像更换证书 --=========================== ...