【问题标题】:Screen capture with AppleScript使用 AppleScript 截屏
【发布时间】:2012-01-06 20:29:52
【问题描述】:

处理在 Safari 中打开网页并截取特定区域的 AppleScript(使用 Cmd+Shift+4)。但我无法使屏幕捕获部分自动进行。

我正在使用 MouseTools 来单击和移动鼠标。

set x to POSIX file ((POSIX path of (path to me)) & "/.." & "/MouseTools") as text
set pathName to POSIX path of x

tell application "Safari" to activate
open location "http://google.com"
delay 1
#do shell script quoted form of pathName & " -x 500 -y 167"
delay 1
tell application "System Events"
    #keystroke "3" using {command down, shift down}
end tell
delay 1
#do shell script quoted form of pathName & " -leftClick"

等等……

击键命令适用于除屏幕截图之外的所有内容。下一个问题是在按住左键的同时移动鼠标。有人让这个工作还是有更好的方法?

【问题讨论】:

    标签: safari applescript screenshot keystroke


    【解决方案1】:

    很高兴看到您使用MouseTools。那是我的程序!但是,有一个命令行工具可以拍摄屏幕截图,称为 screencapture。我确定您应该使用它而不是您的 gui 方法。例如,以下是获取整个桌面图片的方法...

    set imagePath to (path to desktop as text) & "screenCapture.png"
    do shell script "screencapture -mx -T0 " & quoted form of POSIX path of imagePath
    

    我确信有一些方法可以使用屏幕捕获来捕获屏幕的特定区域。稍微搜索一下它的手册页或谷歌应该会在上面找到一些东西。

    【讨论】:

    • 这是你在那里制作的一个不错的小命令行工具。我测试了 screencapture 命令工具,它适用于全屏截图。不幸的是,它不能与您的 MouseTools 结合使用。当我使用 do shell script "screencapture -i ~/Desktop/picture.png"(与 CMD+SHIFT+4 相同)时,它会一直处于该模式,直到我手动单击鼠标,并且它不会响应 do shell script quoted form of pathName & " -leftClick" 或其他脚本中的任何内容。
    • 太糟糕了屏幕捕获不能只做部分屏幕并且不能识别鼠标工具的点击。然而,另一个想法是拍摄全屏照片,然后使用其他工具将全屏图像裁剪为您需要的尺寸。图像事件只能在图像的中心进行裁剪,但您可以使用 ImageMagick 之类的工具在任何需要的地方进行裁剪。见这里:imagemagick.org/script/index.php
    • 一个简单的任务似乎演变成一个巨大的脚本,其中弹出了几个不同的程序。认为我必须重新考虑我的策略。无论如何感谢您的帮助。
    • 购买为什么使用 GUI 命令键序列的最明显方法不起作用?
    猜你喜欢
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多