自动化测试Python + selenium + pywin32 实现非input表单文件上传功能

前言:本次仅记录自动化测试功能,如用本技术用于任和非法用途与作者无关。

在做自动化测试时,遇到需要上传文件而且不是input表单形式的,需要从windows文件中选择文件,如下图:

 遇到这种情况将可以使用pywin35库,调用windows库实现文件上传,代码与环境如下:

1.环境

  • python 3.7
  • selenium 4.4.3
  • pywin32 304

2. 代码

from selenium import webdriver
import win32com.client

# 找到上传文件的位置并点击
driver.find_element(by=By.XPATH, value='your xpath').click()
shell = win32com.client.Dispatch("WScript.Shell")
#有些系统加上\r即可 有些需要加上\r\n
shell.Sendkeys(r'filepath' + '{ENTER}' + '\r\n')

经过测试在该环境下,可以实现自动化测试的文件上传功能。