web自动化之上传文件
作者:互联网
前言:我们什么时候用到上传文件,上传文件怎么操作?那我们的selenium能不能对上传文件进行操作?
解答:1.当我们web自动化需要上传文件来进行自动化的时候,就需要用到
2.我们要操作上传文件窗口需要用到pypiwin32模块,这个模块是操控windows弹出框而准备的
3.不能,因为上传文件窗口是windows弹出框。我们selenium只是对html页面做操作,不能针对windows端来操作。所以我们需要pypiwin32
安装 pip install pypiwin32 就好了。
pypiwin32这个可以操控windows界面。好奇的同学请自行百度搜索扩展
这里我们不详细写。我给出封装好的函数调用就可以了。这个函数是针对谷歌弹出框而做的。
代码如下:
import win32gui
import win32con
# edit - combox - comboBoxEx32 - #32770
# 前提 :windows上传窗口已经出现。sleep1-2秒等待弹出的出现。
def upload(filePath,browser_type="chrome"):
if browser_type == "chrome":
title = "打开"
else:
title = ""
#找元素
#一级窗口"#32770","打开"
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) #点击打开按钮
这里的代码只需要传入你要上传的文件路径即可。
当我们web自动化遇到弹出框,调用这个方法函数,就可以实现文件上传
标签:web,None,FindWindowEx,文件,windows,之上,win32gui,自动化,上传 来源: https://blog.csdn.net/qq_39413365/article/details/90729483