大家好,我们公司的网站有这个文件上传按钮,用于上传多张图片。如何创建自动选择图像然后上传它们的脚本?我已经知道客户端PC上每个图像的路径。我只是不想编写文件上传按钮的单击脚本,因为我试图让这项工作变得令人头疼。我目前的目标是使用以下内容在Autoit中编写脚本:
$files1 = "C:\TeamBuilding\Team Games.jpg"
$files2 = "C:\TeamBuilding\Team Prayer.jpg"
$oIE.getelementbyid("file").upload $files1, $files2
然后在图片上传后提交表单。显然上面的代码是幻想:D我只需要脚本来上传图像而不是单击上传按钮。我的自动脚本将修改此表单的innerHTML以添加自动上传脚本。这可行吗?
摘要:而不是点击&#34;上传文件&#34;按钮我想要一个脚本上传某些.jpg文件。现在我正在做的是手动点击&#34;上传文件&#34;按钮然后选择所有JPEG文件。有人建议一个脚本,点击上传按钮,然后键入每个图像的路径,但我已经尝试过,很头疼,我在VB中要求一个脚本(因为Autoit似乎是VBScript语言)。一旦我获得该脚本,我将做的只是修改我公司网站的innerHTML,而不是普通的<input type="file" name="file" multiple="">
它将自动上传图片而无需用户手动放置图片
答案 0 :(得分:1)
这是你开始的地方。
#RequireAdmin ;Will give your script a permission elevation (sometimes its needed)
#include <IE.au3>
Opt("WinTitleMatchMode", 2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
Opt("WinSearchChildren", 1) ;0=no, 1=search children also
$oIE = _IEAttach("MyUploadPageTitle","windowtitle"); do _IEAttach()
oInputFile = _IEGetObjByName($oIE, "file");get an object of a file input field
_IEAction($oInputFile, "focus")
$hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "Internet Explorer_Server1", " ")
WinWait("Choose File", "", 30)
Sleep(1000)
WinActivate("Choose File")
ControlSetText("Choose File", "", "[CLASS:Edit; INSTANCE:1]", $FileToUpload )
Sleep(1000)
WinActivate("Choose File")
ControlSend("Choose File", "", "", "{ENTER}")
WinWaitClose("Choose File", "", 5)
...