UI自动化处理文件上传

import win32gui
import win32con
def set_uploader(self, file_path):
sleep(2)
self.file_path = file_path
if (os.path.exists(self.file_path) == False): # 判断路径是否存在
print(u"文件路径不存在")
return False
else:
try:
dialog = win32gui.FindWindow('#32770', u'打开') # 对话框
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None) # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
button = win32gui.FindWindowEx(dialog, 0, 'Button', None) # 确定按钮Button
win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, self.file_path) # 往输入框输入绝对地址
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 按button
print(u'上传成功')
except AttributeError as e:
raise e 以上元素可以通过使用AutoIt v3进行定位:


最新文章

  1. TortoiseGit 连接Git服务器不用每次输入用户名和密码的方法
  2. CSS布局:水平居中
  3. 寻找房间中心zz
  4. Redis 利用锁机制来防止缓存过期产生的惊群现象-转载自 http://my.oschina.net/u/1156660/blog/360552
  5. NHibernate 中使用 nvarchar(max) 类型
  6. 从数组->ArrayList->List 为了方便与安全在不断变化着
  7. cdoj 03 BiliBili, ACFun… And More! 水题
  8. iOS中判断设备系统版本
  9. AspNetCore-MVC实战系列(三)之个人中心
  10. 使用 vue-i18n 切换中英文
  11. python学习笔记:2.python基础
  12. mvc 路由伪静态实现
  13. jenkins学习:jenkins+gitlab
  14. unity的一些tips
  15. Python - mouse clicks and keystrokes on a background window
  16. LIS|计蒜客2019蓝桥杯省赛 B 组模拟赛(一)
  17. 大数乘法java版
  18. rpcbind.service启动失败
  19. 两个button之间的间距如何去掉
  20. QML Image Element

热门文章

  1. SQL 中的正则函数
  2. Eureka注册中心高可用及常用配置项
  3. MicroPython 的优势
  4. 解决GitHub push项目——Push failed: Unable to access 'https://********.git/': Failed to connect to 127.0.0.1 port 1080: Connection refused
  5. Docker备份镜像
  6. a标签实现下载canvas图片
  7. 全面优化MySQL(一)
  8. 2018-2-13-Windows-10-16251-添加的-api
  9. ps:图像格式的选择
  10. LOJ6300 BZOJ5283 [CodePlus 2018 3 月赛]博弈论与概率统计