【发布时间】:2021-06-21 18:27:33
【问题描述】:
我编写了一个 AppleScript 来自动化我的工作设置,只需要最后的润色。我在脚本中将某些内容复制到剪贴板;我需要编辑我复制的文本以仅保留最后一行(最好不要打开实际的文本编辑器应用程序,因为这会使我的工作区变得混乱),然后将该行粘贴到 Google Chrome 浏览器中。
到目前为止,在我的脚本的最后一步中,我做了一些导致消息文本输出到终端的操作。然后我将终端中可见的文本复制到剪贴板,如下所示:
tell application "Terminal"
tell front window
set the clipboard to contents of selected tab as text
end tell
end tell
现在我可以粘贴它,类似于
...
[I 15:03:31.259 LabApp] Serving notebooks from local directory: /workspace
[I 15:03:31.259 LabApp] The Jupyter Notebook is running at:
[I 15:03:31.259 LabApp] http://1fw5c518af9:1932/?token=5e6d97b348fsy734gd
[I 15:03:31.259 LabApp] or http://88.0.0.1:1932/?token=5e6d97b348fsy734gd
[I 23:56:47.798 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 23:56:47.803 LabApp]
To access the notebook, open this file in a browser:
file:///root/.local/share/jupyter/runtime-open.html
Or copy and paste one of these URLs:
http://1fw5c518af9:1932/?token=5e6d97b348fsy734gd
or http://88.0.0.1:1932/?token=5e6d97b348fsy734gd
这总是以or *URL* 格式的文本结尾,例如在上面的示例中,它将是or http://88.0.0.1:1932/?token=5e6d97b348fsy734gd。这与上面的行由行分隔符和“或”之前的一些尾随空格分隔。
我需要做的是获取该 URL,启动 Google Chrome 浏览器并将其粘贴到那里。
打开谷歌浏览器应该很简单,下面的代码(来自这个tut)带你到Instagram:
tell application "Google Chrome" to activate
tell application "System Events"
key code 37 using command down
delay 0.5
keystroke "https://www.instagram.com/instagram"
delay 1
key code 36
delay 1
end tell
实际上我所需要的只是将剪贴板上的内容编辑为*URL*(在上面的示例中,只是http://88.0.0.1:1932/?token=5e6d97b348fsy734gd)。之后,我可以从剪贴板(在教程中输入 Instagram)粘贴它。
在尝试了下面@user3439894 的可爱回答后,我发现情况有点复杂:
- 在结尾后有不可预知的空白行“” 链接。
- 我也想知道最后是否有空格 还有
我已经知道http://88.0.0.1 的形式(它总是这样)所以有没有办法搜索它,然后用后面的链接抓住它? (如果能够用“ ”或换行符分隔结尾,那就太好了)
编辑 2:
如果http://88.0.0.1... 出现多次,我们希望只选择这些网址中的一个 - 它们通常可能相同,但选择最后一个 是最安全的。
【问题讨论】:
-
@user3439894 完成。抱歉,老实说,我通常只是手动打开浏览器中的最后一个链接(所以我什至没有注意到上面的链接)。需要明确的是,终端中过去有多少文本将被包含在其中有点不可预测,因此最可靠的解决方案是将最后一次出现的
http://88.0.0.1...作为正确的 URL。事实上,倒数第二个 URL 似乎也不错(如上面我的复制和粘贴示例所示),但之前的 URL 也可能包含在contents of selected tab中,具体取决于终端屏幕的大小。 -
我已更新我的答案以检索以
http://88开头的最后一个 URL。
标签: macos automation applescript automator