VBScript自动编程文件上传

时间:2015-03-26 15:03:46

标签: file-upload vbscript autoit

大家好,我们公司的网站有这个文件上传按钮,用于上传多张图片。如何创建自动选择图像然后上传它们的脚本?我已经知道客户端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="">它将自动上传图片而无需用户手动放置图片

1 个答案:

答案 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)
...