web自动化之上传文件

匿名 (未验证) 提交于 2019-12-02 23:36:01

前言:我们什么时候用到上传文件,上传文件怎么操作?那我们的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自动化遇到弹出框,调用这个方法函数,就可以实现文件上传

文章来源: https://blog.csdn.net/qq_39413365/article/details/90729483
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!