Selenium实现系统对话框上传文件

in 笔记 with 0 comment
当富文本编辑器调用系统对话框选择文件上传,你是不是一脸懵逼呢?

工具

解决办法

既然调用的是系统对话框,所以我们可以试试 Windows API,使用winspy可以帮助我们快速的找到相关句柄。

图片请结合代码查看

import win32gui
import win32con

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', None)#定位确认按钮
win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, path)#发送path到编辑框
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)#点击确认按钮
1.Comments are closed.
2.Non Chinese browsers are not supported.