解决selenium自动化上传图片或文件出现windows窗口问题

在实际工作中,会经常遇到上传图片或文件的操作,有的是input标签的,有的是非input标签属性的。他们都有一个共同的特性会出现windows的弹出窗。

下面说下出现windows的弹出窗后怎么解决:总共2个步骤

1,首先点击打开,待出现选择文件的弹出窗后:

解决selenium自动化上传图片或文件出现windows窗口问题

2,调用我下面这个函数:

提示:调用此方法需要在打开windows上传文件的系统窗口后再调用 (该方法适用于谷歌驱动)

‘‘‘实现非input标签上传文件,调用此方法需要打开windows上传文件的系统窗口再调用‘‘‘
import win32gui
import win32con


def upload_file(file_path):
    ‘‘‘
    :param file_path:上传文件的路径
    :return:
    ‘‘‘
    dialog = win32gui.FindWindow("#32770", "打开")
    comboxex32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)
    combox = win32gui.FindWindowEx(comboxex32, 0, "ComboBox", None)
    edit = win32gui.FindWindowEx(combox, 0, "Edit", None)
    button = win32gui.FindWindowEx(dialog, 0, "Button", "打开(&0)")
    win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, file_path)
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)


upload_file(r‘C:\Users\admin\Desktop\Screenshot\mvcSnipaste_2019-12-26_20-59-19.png‘)

相关推荐