我是一名正在上网课的大学生,我每次做笔记时都会按Command+Control+Shift+4截取部分截图,然后粘贴到Notion。但是这样效率不高到每次都选择相同的区域,然后我发现QuickTime Player会保留相同的区域来捕获部分屏幕截图,所以我决定使用Apple Script来完成操作。
我写的代码可以切换到应用程序QuickTime Player,然后按Command+Control+N进入菜单中的“新屏幕录制”,但问题是有时按两次空格会调出“捕获所选内容” 同时,虽然我已经勾选了“记住上次选择”,但保存屏幕截图的位置也会改变,也许每次重新设置保存位置是必要的。
on run {input, parameters}
activate application "QuickTime Player"
tell application "System Events"
key code 45 using {command down, control down}
delay 0.1
# Switch to "Capture Select Portion" by pressing SPACE
repeat 2 times
key code 49
delay 0.1
end repeat
# Press ENTER to capture a screenshot
key code 35
delay 0.1
end tell
return input
end run
我花了几个小时找到现有的文章,但也许不能满足我的需求。
do shell script "screencapture -ci"
与按 Command+Control+Shift+4 相同,我必须手动选择该部分。
do shell script "screencapture -x -R20,20,640,380 ~/Desktop/test.png"
需要一个精确的坐标。 但是由于窗口不是固定的,所以坐标是可变的,需要通过外部软件来找到,可能效率有点低。 如果没有解决办法,我会使用它,因为它比每次选择部分方便得多。
很抱歉在这里粘贴别人的代码并说为什么他们不适合我,我只是想说清楚...感谢您阅读这里,祝您有美好的一天无论您是否愿意帮助我^ ^
关于将屏幕截图粘贴到Notion的部分有效,所以我没有将其粘贴到此处。
我尝试写一些东西,它可以工作,但仍然有一些错误。
例如,“选项”菜单的坐标应该根据栏的精确位置进行初始化,因为我没有成功使用entire contents
找到该元素。使用过程中
不能移动鼠标,否则可能会导致错误:
System Events got an error: Can’t get menu \"Options\" of button \"Options\" of window \"Window\" of application process \"screencaptureui\"." number -1728 from menu "Options" of button "Options" of window "Window" of application process "screencaptureui
需要几秒钟让程序找到菜单项剪贴板。
tell application "System Events"
tell process "QuickTime Player"
# Switch to QuickTime Player (already opened expected, no launching time reserved)
activate
# Open "New Screen Recording" from the menu
click menu item "New Screen Recording" of menu "File" of menu bar item "File" of menu bar 1 of application process "QuickTime Player" of application "System Events"
delay 1
end tell
# Capture Selected Portion
tell application process "screencaptureui"
click checkbox "Capture Selected Portion" of window "Window" of application process "screencaptureui" of application "System Events"
# Select Options from the menu (idk why if I replace it with click menu, the clipboard won't be found, needs to be fixed)
click at {817, 824}
delay 0.1
# Save to the Clipboard
click menu item "Clipboard" of menu "Options" of button "Options" of window "Window" of application process "screencaptureui" of application "System Events"
delay 1
end tell
# Enter to capture the screenshot
key code 36
delay 0.1
# Switch to Notion (already opened expected, no launching time reserved)
tell application "Notion"
activate
delay 0.1
end tell
# Paste the screenshot to Notion
key code 9 using {command down}
end tell
希望这对某人有帮助,如果您有任何想法,请随时修改它,因为它仍然存在错误。
您不需要脚本来执行此操作,但是,如果您想将屏幕截图放入 Dock 中,它会保持 Dock 显示,如果您想要的图片位于 Dock 下,这很糟糕。
有谁知道如何制作一个系统事件脚本来激活屏幕截图然后让它退出?我有一个 MusicFader 脚本,我正在尝试编辑它来执行此操作,但我只想激活屏幕截图,然后让脚本退出。我还没弄清楚。有人知道该怎么做吗?
谢谢。 :)