AppleScript自动化 - 将文件夹中的文件批量上传到单个上载表单

时间:2017-01-27 05:40:39

标签: automation applescript

(第一次使用AppleScript ...)我试图通过单一上传表格将文件从本地文件夹批量上传到服务器(ddos墙后面的旧版服务器端软件,无法控制它)

据我所知:

  • 我可以遍历文件系统中的每个文件。
  • 使用每个文件:调用"告诉"的Safari"
  • 调用javascript到"点击" ID按钮
  • 文件上传对话框,选择要上传的文件(?)

我在实现该方法时遇到了一些语法问题......

(另外,如果这不是正确/最好的方法,请在下方提供更好的方法!)

on run  
    tell application "Finder"
        set mlist to (every file of folder "Macintosh HD:Users:username:filestouploadfolder") as alias list

        repeat with this_file in mlist

            tell application "Safari"
                activate

                do JavaScript "document.getElementById('selectToOpenFileDialog').click();" in document 1
                choose file this_file

            end tell
        end repeat

    end tell
    return 0
end run

1 个答案:

答案 0 :(得分:0)

虽然它可能更优雅但却破解了一个解决方案

on run
    tell application "Finder"
        set mfolder to "Macintosh HD:Users:yosun:png:"
        set myFiles to name of every file of folder mfolder
    end tell

    repeat with aFile in myFiles

        tell application "Safari"
            activate
            delay 1
            do JavaScript "document.getElementById('addDeviceTargetUserView').click();" in document 1
            delay 1
            do JavaScript "document.getElementById('targetDimension').value=10;" in document 1
            do JavaScript "document.getElementById('targetImgFile').click();" in document 1


        end tell

        tell application "System Events"
            keystroke "G" using {command down, shift down}
            delay 1
            keystroke "~/png/" & aFile as string
            delay 1
            keystroke return

            delay 1
            keystroke return

            delay 1

        end tell

        tell application "Safari"
            activate
            delay 1
            do JavaScript "document.getElementById('AddDeviceTargetBtn').click();" in document 1
        end tell

        delay 10

    end repeat
end run