Win32gui 无效窗口句柄

版权声明:本文为博主原创文章,欢迎转载,转载时请以超链接形式标明文章原始出处。 https://blog.csdn.net/lilongsy/article/details/85317258

在用模拟浏览器上传文件时,用win32gui查找窗口,并输入文件路径,点击确定上传。然而在设置打开窗口焦点时,报错了:

xx是 无效窗口句柄

经过spy++排查,确定窗口类和名称都无误,后来经过多次测试,发现问题是:窗口打开太慢,在窗口打开之前就开始查找窗口了,当然就找不到了。所以要等一等,一秒也行。

time.sleep(1)

部分python代码片段如下:

ele_file.click()
time.sleep(1)

print("打开文件选择弹框")
procHandle = win32gui.FindWindow(None, "打开")
win32gui.SetForegroundWindow(procHandle)

print("设置文件")
edit = win32gui.FindWindowEx(procHandle, 0, "ComboBoxEx32", None)
win32api.SendMessage(edit, win32con.WM_SETTEXT, 0, localPath)

print("点击打开按钮")
openBt = win32gui.FindWindowEx(procHandle, 0, "Button", '打开(&O)')
win32api.PostMessage(openBt, win32con.WM_LBUTTONDOWN, 0, 0)
win32api.PostMessage(openBt, win32con.WM_LBUTTONUP, 0, 0)

猜你喜欢

转载自blog.csdn.net/lilongsy/article/details/85317258
今日推荐