首页 > 代码库 > python使用webdriver处理上传文件(使用AutoIt)

python使用webdriver处理上传文件(使用AutoIt)

一、前言

在使用python+webdriver做web自动化时,遇到上传本地文件时,无法通过webdriver进行处理。这是需要借助于第三方工具来解决此问题。下面就将介绍这个工具(AutoIt)的使用方法。

二、AutoIt的使用

2.1、AutoIt的下载与安装

下载地址:https://www.autoitscript.com/site

下载后,直接点击exe文件进行安装,这里我就不鸡婆了。

 

2.2、AutoIt的使用

安装后,在电脑所有程序中会与AutoIt v3文件夹,点开,里面会有AutoIt Window Info(x64)、Compile Script to .exe(x64)、SciTE Script Editor三个启动程序程序(win7,win10点击开始—所有程序;win8自己去程序中一个个搜索吧),如果没有,自己重装吧。

2.2.1、AutoIt Window Info(x64)

点击自动这个程序

技术分享

这个工具是获取上传窗口的一些信息,使用方式就是将Finder tool直接拖到需要捕获的控件上

获取文本框信息

技术分享

 获取打开按钮信息

 技术分享

2.2.2、SciTE Script Editor

打开工具,输入上面获取到的控件信息,保存成upfile.au3;

 技术分享

 

;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", "E:\Python\20170109(pyton+selenium)\test.png")
Sleep(2000)

;Click on the Open button
ControlClick("文件上传", "", "Button1");

 

2.2.3、Compile Script to .exe(x64)

 使用此工具,将上面的upfile.au3转成可执行的exe文件

技术分享到此时,你已搞定本地上传问题了,接下来只需要在脚本中调用此exe可执行文件即可

python脚本调用示例如下:

os.system("E:\Python\upfile.exe")

python使用webdriver处理上传文件(使用AutoIt)