当前位置:   article > 正文

python操作第三方软件,python-web自动化-文件上传操作(非input标签的上传,需要借助第三方工具)...

python自动化非input标签怎么输入

文件上传操作

一、文件上传分两种情况:

1. 如果是input可以直接输入路径的,可以直接调send_keys输入路径

2. 非input标签的上传,需要借助第三方工具:

2.1 Autolt 需要去调用其生成的.au3或.exe文件.----不推荐,了解

2.2 SendKeys第三方库(目前只支持到2.7版本)----不推荐,了解

2.3 Python pywin32库,识别对话框句柄,进而操作 ------pip install pywin32

二、文件上传框,定位工具Winspy:

上传窗口 dialog(win32gui.FindWindo)=======子窗口:打开按钮 button (win32gui.FindWindowEx)

||

子窗口 ComboBoxEx32 (win32gui.FindWindowEx)

||

子窗口 ComboBox (win32gui.FindWindowEx)

||

子窗口:文件路径输入框 edit(win32gui.FindWindowEx)

举例: 利用百度网盘,要先登录百度网盘,并打开上传文件窗口

-----此代码可以直接使用,一般不会变动,只需要注意不同的浏览器,文件上传弹窗的第一级窗口的名字不同即可

1 importwin32con2 importwin32gui3

4 def upload(filePath,browser_type="Chrome"):5 #Chrome浏览器

6 if browser_type == "Chrome":7 title = "打开"

8 #Firefox浏览器

9 else:10 title = "文件上传"

11

12 dialog = win32gui.FindWindow("#32770",title) #一级窗口 ‘打开窗口’

13 ComboBoxEx32 = win32gui.FindWindowEx(dialog,0,"ComboBoxEx32",None) #二级

14 ComboBox = win32gui.FindWindowEx(ComboBoxEx32,0,"ComboBox",None) #三级

15 edit = win32gui.FindWindowEx(ComboBox,0,"Edit",None) #四级

16 button = win32gui.FindWindowEx(dialog,0,"Button",None) #四级

17

18 #往文件名编辑框中输入文件路径

19 #上传操作

20 win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,filePath)21 win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button) #点击打开按钮

22

23

24 upload('E:\我\软件进度.xlsx')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/203179
推荐阅读
相关标签
  

闽ICP备14008679号