在页面中遇到了非input文件上传,python3不支持Sendkeys,暂时不想用autoit,于是使用PyUserInput代替。
PyUserInput模块安装前需要安装pywin32和pyHook模块(换电脑后我已经用回Windows10了,毕竟送的正版)
安装pywin32
pip install pywin32
安装pyHook
1.到pyHook下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook 根据自身系统和python版本选择下载到本地
2.下载到本地后,用pip安装
pip install pyHook本地路径
PyUserInput安装
pip install PyUserInput
使用方法:
#导入模块 from pymouse import PyMouse from pykeyboard import PyKeyboard #实例化 pym = PyMouse() pyk = PyKeyboard() #鼠标操作: #x,y –坐标位置 #buttong –1表示左键,2表示点击右键 #n –点击次数,默认是1次,2表示双击 pym.click(x,y,button,n) –鼠标点击 #鼠标移动到坐标(x,y) pym.move(x,y) #键盘操作: #模拟键盘输入字符串 pyk.type_string('www.fanlibei.com') #模拟键盘按X键 pyk.press_key('X') #模拟键盘松开X键 pyk.release_key('X') #模拟点击X键 pyk.tap_key('X') #模拟点击X键,2次,每次间隔3秒 pyk.tap_key('X',n=2,interval=3) #点击功能键F5 pyk.tap_key(pyk.function_keys[5]) #点击小键盘5,6次 pyk.tap_key(pyk.numpad_keys[5],6) #点击回车键 pyk.tap_key(k.enter_key) #联合按键模拟 #同时按alt+tab键盘 pyk.press_key(pyk.alt_key)#按住alt键 pyk.tap_key(pyk.tab_key)#点击tab键 pyk.release_key(pyk.alt_key)#松开alt键
使用PyUserInput模拟文件上传
kk = PyKeyboard() driver.find_element_by_css_selector( '你的上传文件元素位置').click() sleep(1) kk.tap_key(kk.shift_key) #切换为英文,看实际情况是否需要 sleep(1) kk.type_string('X:\XXX\Pictures')#打开文件所在目录,方便多个文件上传 sleep(1) kk.tap_key(kk.enter_key) sleep(1) kk.type_string('"1.png" "2.png" "3.png" ')#多文件上传 sleep(1) kk.tap_key(kk.enter_key)
发表评论