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)

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试技术交流群社:786229024(里面还有工作内推机会,毕竟我们是关系社会。)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

面试文档获取方式:

你可能感兴趣的:(IT,程序员,程序人生,单元测试,自动化测试,职场和发展,软件测试,面试)