其他分享
首页 > 其他分享> > web自动化之上传文件

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