之前研究了很久到现在才发现,如果是input可以直接sendkeys赋值比较方便,我今天用的button上传,代码如下:
# 上传凭证(非input型)
driver.find_elements_by_tag_name("button")[1].click()
time.sleep(3) # 一定要加,弹出框后才有后续上传,之前因为没写弹窗没出后续执行无效
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, "E:\\1.jpg") # 放入上传文件的绝对路径
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 点击打开按钮