使用python在web自动化中经常碰到文件上传的操作,一般文件上传存在input输入框的话可以直接采用send_keys()的方法传入文件,在没有输入框的文件上传则要借用其他第三方库来完成,下面介绍几种文件上传的方法
方法一
pywin32库
#导入win32gui、win32con
import win32gui
import win32con
def upload(self,filePath):
title = “打开”
dialog = win32gui.FindWindow("#32770", title) # 一级窗口
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, “ComboBoxEx32”, None) # 二级
comboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, “ComboBox”, None) # 三级
# 编辑按钮
edit = win32gui.FindWindowEx(comboBox, 0, ‘Edit’, None) # 四级
# 打开按钮
button = win32gui.FindWindowEx(dialog, 0, ‘Button’, “打开(&O)”) # 四级
# 往编辑当中,输入文件路径 。
win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, filePath) # 发送文件路径
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 点击打开按钮
1
2
3
方法二
pywinauto库
#操作系统指令
from pywinauto import Desktop
app = Desktop()
dialog = app[‘打开’]
dialog[“Edit”].type_keys(r"C:\Users\Asus\Pictures\QQ浏览器截图\pp.png")
dialog[“Button”].click()
方法三
pyautogui跨平台
pyautogui库可以跨平台使用,Windows、Linux、Mac都可以,但是需要注意以下情形
情形一:
python3.8版本
1.需先安装依赖库 pillow== 6.2.2
2.然后安装pyautogui库
情形二:
非python3.8版本
直接安装pyautogui库
代码示例:
pyautogui.write(‘d:\text.txt’) #注意盘符为小写
pyautogui.press(‘enter’,2) #这里为避免上传失败情况,尽量使用2次确定键
如果路径中含有中文,则需要导入python剪切板
代码示例:
import pyperclip
pyperclip.copy(‘D:\用户.txt’)
time.sleep(2)
pyautogui.hotkey(‘ctrl’,‘v’)
pyautogui.press(‘enter’,presses=2)
-
大学四年的规划与目标 朋友圈怎么设置只可以看三天的 关于闺蜜的唯美句子 表白信 鼓励的话语 朱熹的简介 我和孙悟空过一天 8字温暖唯美个性签名 贺卡祝福语 项目经理述职报告 形容女人气质的词语 笨手笨脚造句 大学生学年总结 酒店实习报告 成功男士网名 好听的游戏名字大全 年度述职报告 教师培训计划方案 继续教育总结 家庭装修合同 晚安情话 帆布包怎么洗 学习雷锋倡议书 课外活动计划 娓娓动听造句 小班幼儿年龄特点 写信作文 文化建设方案 安徒生童话故事有哪些 结婚祝福语8个字(0) 回复 (0)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)