过程:模拟点击上传按钮,打开Windows对话框,编辑栏输入文件路径(或网址)点击确定。网上随便找了一个进行测试。

点击后出现Windows上传对话框

用 winspy 来检测窗口的句柄

python 实现

import win32con
import win32gui
from selenium import webdriver
import time driver = webdriver.Chrome() driver.get('http://file.yiyuen.com/file/')
time.sleep(1)
# 百度上传图片Input类型
driver.find_element_by_name("files").click() time.sleep(2) dialog = win32gui.FindWindow('#32770', u'打开') # 对话框 这里的值即上一步winspy检测到的值
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, 'https://www.baidu.com/img/baidu_resultlogo@2.png') # 往输入框输入绝对地址
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 按button

最新文章

  1. 信息系统实践手记5-CACHE设计一例
  2. Myeclipse导包总是报错,jar包路径都没问题
  3. Android中proc/meminfo的详解(原)
  4. ASIHTTPRequest详解 [经典3]
  5. DLL:加载错误
  6. HDU 4707:Pet
  7. Error reading from file 解决办法
  8. NSdate 时间格式
  9. Spring使用小结2
  10. 利用有限自动机(finite automata)进行模式匹配
  11. JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现
  12. swift 之SnapKit 动画
  13. Windows系统上FFMpeg-PHP的使用
  14. 12-7jquery选择器学习
  15. 来自后端的突袭? --浅尝最新开源的C# Web引擎 Blazor
  16. 数据从oracle转换到mysql
  17. python2.7添加注释后,代码无法保存
  18. MySQL_函数(待续)
  19. Flask中的before_request after_request
  20. [No0000FB]C# 命名空间(Namespace)

热门文章

  1. 《YouTube 网站的架构演进》阅读笔记
  2. 循环指令 LOOP
  3. HDU - 6197 array array array (最长上升子序列&最长下降子序列)
  4. UVA - 10817 Headmaster's Headache (状压dp+记忆化搜索)
  5. 英语学习 - 进行时态的被动 ( be being done )
  6. 【LeetCode】接雨水
  7. 【机器学习实战学习笔记(2-2)】决策树python3.6实现及简单应用
  8. ES6 之 Reflect 的方法总结
  9. 移动MAS短信平台发送短信
  10. oracle 使用触发器实现id自增