AppleScript下载文件

AppleScript下载文件,applescript,Applescript,我需要编写一个AppleScript来打开Safari并转到下载第一个csv文件,而不是通过为您提供代码片段来完成这项任务,而是为您提供一个很棒的资源。Cube MG提供了一系列教程,这些教程对于通过Safari与网页元素交互非常有用。在这里查看: 还有其他类似的方法,比如使用命令行,但这有点高级。看看Cube MG,看看你能学到什么 tell application "Safari" make new document with properties ¬ {URL:"h

我需要编写一个AppleScript来打开Safari并转到下载第一个csv文件

,而不是通过为您提供代码片段来完成这项任务,而是为您提供一个很棒的资源。Cube MG提供了一系列教程,这些教程对于通过Safari与网页元素交互非常有用。在这里查看:

还有其他类似的方法,比如使用命令行,但这有点高级。看看Cube MG,看看你能学到什么

tell application "Safari"
    make new document with properties ¬
        {URL:"https://www.stats.govt.nz/large-datasets/csv-files-for-download/"}

    repeat
        if the front document's source contains "What are CSV files?" then ¬
            exit repeat

        delay 0.5
    end repeat

    tell the front document to set CSVfiles to ¬
        do JavaScript "Array.from(document.links,
                                  x=>x.href)
                            .filter(x=>x.indexOf('.csv')!=-1);" 
end tell
这将获得指向所有CSV文件的链接。要提取第一个,请使用CSVfiles的
项1



NB.别忘了在开发者菜单(一个隐藏菜单,通过首选项>高级>在菜单栏中显示开发菜单)中启用Apple Events中的Allow JavaScript。

这不是一个问题,而是外包一项任务或家庭作业。关于您的答案,有几点:1。编译时,将代码原样复制并粘贴到脚本编辑器错误中,
预期表达式,但发现“tell”。
。必须将
设置CSVfiles以告知前端文档为¨
更改为
以告知前端文档将CSVfiles设置为¨
,以使其正常工作。2.
重复,而front document=“Untitled”
的名称不可靠,因为在页面完全加载之前,文档1的
名称可能会更改,并且JavaScript命令可以/将返回
{}
。3.需要选中Safari中隐藏开发者菜单上Apple Events中的Allow JavaScript,默认情况下不是这样。