zoukankan      html  css  js  c++  java
  • selenium 键盘事件 模拟ctrl+v 然后键盘点击回车键

    #windows下执行
    
    import win32api,win32con,win32clipboard as w
    
    #获取剪切板内容
    def get_text():
        w.OpenClipboard()
        d=w.GetClipboardData(win32con.CF_TEXT)
        w.CloseClipboard()
        return d
    
    #复制内容到剪切板
    def set_text(astring):
        w.OpenClipboard()
        w.EmptyClipboard()
        d=w.SetClipboardData(win32con.CF_UNICODETEXT,astring)
        w.CloseClipboard()
    
    #定义了一些key值
    vk_code={'ctrl':0x11,'enter':0x0D,'a':0x41,'v':0x56,'x':0x58}
    
    #键盘按下
    def key_down(keyname):
        win32api.keybd_event(vk_code[keyname],0,0,0)
    
    #键盘抬起
    def key_up(key_name):
        win32api.keybd_event(vk_code[key_name],0,win32con.KEYEVENTF_KEYUP,0)
    
    #按键组合操作
    def simulate_key(firstkey,sencondkey):
        key_down(firstkey)
        key_down(sencondkey)
        key_up(sencondkey)
        key_up(firstkey)
        print('simulate_key执行完成!')
    
    #模拟一个添加附件 弹出文件选择框的操作,粘贴路径选择文件,点击回车确认
    
    file_path="f:\testdata.txt"  #注意	est前边加了  不加会	 当tab键使用
    
    set_text(file_path)
    #print(get_text().decode('gbk'))
    
    time.sleep(1)    
    simulate_key('ctrl','v')  #粘贴内容到获得焦点的输入框
    time.sleep(1)
    key_down('enter') #按下回车
    key_up('enter')
  • 相关阅读:
    springboot + mybatis + 多数据源
    Git 常见问题汇总
    Git 常见问题汇总
    sqlserver存储过程实现多表分页
    bzoj5248(洛谷4363)(2018九省联考)一双木棋
    bzoj4033 [HAOI2015]树上染色
    bzoj3195 [Jxoi2012]奇怪的道路
    bzoj1426(洛谷4550)收集邮票
    bzoj4806 炮
    bzoj1090(SCOI2003)字符串折叠
  • 原文地址:https://www.cnblogs.com/xiaoxiao075/p/10678000.html
Copyright © 2011-2022 走看看