python+selenium处理文件上传功能可用到辅助工具,autolt,下载地址
https://www.autoitscript.com/site/autoit/downloads/
安装之后开始操作
——————————————
❶1、使用autolt编写代码
——————————————
使用
获取上传文件弹窗信息
以下两种对比:
谷歌示例:
火狐示例:
获取弹窗信息之后使用下图进行编码
ControlFocus("打开", "","Edit1")
;ControlFocus("title","text",controlID)Edit1=Edit instance 1
WinWait("[CLASS:#32770]","",10)
ControlSetText("打开", "", "Edit1", "D:\1.mp3")
Sleep(2000)
ControlClick("打开", "","Button1");
注:sleep(2000):等待两秒。这个“D:\1.mp3”为你测试过程中需要上传的文件路径
编码之后保存,打开下图程序将你保存的文件进行格式转换
注:部分用户将文件转换成exe文件之后会被管家将该文件给清理掉,将该文件加入信任区即可
——————————————
❶2、开始编写脚本
——————————————
导包:
import os
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.maximize_window()
driver.get('测试地址')
"""
省略掉一些页面操作,直接到点击按钮进行文件上传
"""
driver.find_element_by_xpath('定位元素').click()
time.sleep(1)
os.system('exe文件所在路径')
# 设置等待时间查看效果,有些时候会因为网速原因,显示等待时间可进行适应调整
time.sleep(3)