过程:模拟点击上传按钮,打开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

 

版权声明:本文为teng-0802原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/teng-0802/p/11355913.html