# 12. 上传操作
#
# (1)如果是input可以直接输入路径的,直接使用send_keys输入路径
# (2)非input标签的,需要借助第三方工具:
# A. AutoIt : 调用其生成的au3或exe文件
# B. SendKeys第三方库:目前只支持到2.7版本
# C. Python pywin32库:识别对话框句柄,进而操作 # 工具:pywin32 和 WinSpy(识别windows控件的工具)
# 在pywin32中,查找一层窗口的方法为:win32gui模块下的FindWindow
# 在某窗口下查找子窗口的方法为:win32gui模块下的FindWindowEx
# 执行编辑操作、点击操作的方法为:win32gui模块下的SendMessage # win32gui.FindWindow(IpClassName,IpWindowName)
# 自顶层窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄
# IpClassName : 类名,在Spy++里能够看到
# IpWindowName: 窗口名,标题栏上能看到的名字 # win32gui.FindWindowEx(hwndParent=0,hendChildAfter=0,lpszClass=None,lpszWindow=None)
# 搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄;找不到就返回0
# hwndParent : 若不为0,则搜索句柄为hwndParent窗体的子窗体
# hwndChildAfter :若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索
# IpClassName : 字符型,是窗体的类名
# IpWindowName : 字符型,是窗口名 # win32gui.SendMessage(hWnd,Msg,wParam,lParam)
# hWnd : 整型,接收消息的窗体句柄
# Msg :整型,要发送的消息,这些消息都是windows预先定义好的
# wParam:整型,消息的wParam参数
# lParam:整型,消息的lParam参数


import win32gui
import win32con def upload_chrome(filepath):
# 一级窗口
dialog = win32gui.FindWindow('#32770','打开')
# 二级窗口
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) file_path = 'F:\VOC\测试图片\视频遮挡\遮挡.png'
upload_chrome(file_path)

												

最新文章

  1. jqgrid cellEdit为true的时候,默认选中单元格值的解决方案
  2. windowsAPI遍历文件夹(速度高于递归)
  3. 【笔记】ListView的使用
  4. shell 里的变量 总结
  5. linux下安装nginx后开机启动篇
  6. 黑色30s高并发IIS设置
  7. Dll学习三_Dll 相互间以及主程序间的数据共享——测试未通过,应该用内存映射
  8. Ubuntu环境下eclipse的hadoop开发
  9. BZOJ 1415 聪聪和可可(概率DP)
  10. Servlet和Tomcat部署
  11. 用redis实现支持优先级的消息队列
  12. Unicode字符集下CString与char *相互转换
  13. BZOJ1579 USACO 2009 Feb Gold 3.Revamping Trails Solution
  14. 引用第三方dll引发的问题解决
  15. redis-string操作
  16. unity中让摄像机移动到鼠标点击的位置和鼠标控制平移视角
  17. 关于RabbitMQ分布式集群架构
  18. docker+phantomjs+haproxy 搭建phantomjs集群
  19. 【QT学习】QT事件处理机制
  20. c语言指针篇

热门文章

  1. vue-cli3项目中解决动态引入图片img404的问题
  2. webm视频转换 其他视频格式转换为webm格式
  3. 【虚拟机-网络IP】虚拟机配置静态 IP 以后无法连接的解决办法
  4. vue搭建骨架屏步骤配置
  5. vijos 1320 清点人数
  6. 2018.4.27 Java的Swing常用事件
  7. Hbase 完全分布式 高可用 集群搭建
  8. 传输途径 ath9k层到硬件层
  9. datatable css not work
  10. 我的offer之路(一)