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:\\test\data.txt"  #注意\test前边加了\  不加会\t 当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')

 

posted @ 2019-04-09 16:48  小金儿  阅读(4097)  评论(0编辑  收藏  举报