python自动化之文件处理_web自动化之文件上传操作

使用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) # 点击打开按钮

方法二:

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)

原文链接:https://blog.csdn.net/yan_se/article/details/107665669

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值