python+autoit 实现网页文件上传

参考:https://blog.csdn.net/justheretobe/article/details/50939021

webdriver无法对windows的图形界面进行操作,所以借助AutoIt来实现文件上传。
AutoIt下载: https://www.autoitscript.com/site

安装后打开Au3Info_x64.exe

image.png

打开工具后,用鼠标讲Finder Tool图标拖动到要识别的控件上

1.获取文本框的控件信息:


image.png

2.获取“打开”按钮的控件信息:


image.png

编写AutoIt脚本,实现文件上传

1.打开SciTE.exe


image.png

2.代码

;ControlFocus("title", "text", controlID) Edit1=Edit instance 1
ControlFocus("打开", "","Edit1")

;Wait 10 seconds for the Upload window to appear
WinWait("[CLASS:#32770]", "",10)

;Set the File name thext on the Edit field
ControlSetText("打开", "", "Edit1", "D:\test.txt")
Sleep(2000)

;Click on the Open button
ControlClick("打开", "", "Button1");

3.将文件保存upfile.au3


image.png

4.使用Aut2exe_x64.exe将上面的脚本编译成exe文件供python使用

image.png
image.png

使用python脚本调用AutoIt脚本

#点击上传,打开上传文件窗口
driver.find_element_by_xpath()

#使用autoit脚本自动上传文件
#需要导入python的os库文件: import os
os.system("D:/upfile.exe")

你可能感兴趣的:(python+autoit 实现网页文件上传)