UI自动化过程中总会遇到一些功能需要上传文件,在此记录一些上传方法

input标签

input标签可以直接使用send_keys(文件地址)上传文件
from selenium import webdriver
driver = webdriver.Chrome()

element = driver.find_element_by_id('id')
element.send_keys(r"filepath")

pywin32

import win32gui
import win32con
import time

class Upload_File(object):

    def upload_file(self,file_path):
        """
        :param file_path:上传文件的路径
        :return:
        """
        time.sleep(3) #等待窗口加载
        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", "打开(&O)")
        win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, file_path)
        win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)