如何在OS X上复制对话框的文本内容?


9

许多人不知道在Windows上,当对话框处于焦点状态时,您可以通过按Ctrl ⌃+ 复制MessageBox的整个文本内容C

这是报告错误消息的一项重要功能,在某些情况下,这些消息可能会很大。

不过,似乎在OS X上,Command ⌘+ C不能正常工作,我想知道是否还有另一种方法可以执行此操作。

截屏不是很方便,尤其是无法搜索:p

我正在寻找一个通用的解决方案,如果存在的话。这是一个例子:

在此处输入图片说明


2
在某些情况下,您可以使用鼠标/触控板选择文本,选择文本后,可以通过Cmd + C复制该文本;但是,不幸的是,这并不总是可能的
iolsmit

看来这取决于开发人员如何实现对话框。在Safari,Textmate和Terminal中,我尝试的对话框都是可以选择的。我试图查看“关于”对话框的“发送”,但其文本不可选择。
巴达姆斯

同意 一切都取决于盒子。我可以选择一些文本框,有些我不能。最好的选择是对对话框进行截图。
2012年

Answers:


6

最通用的方法可能是使用辅助功能检查器并从其窗口复制文本。

在Mac OS X v10.4和更高版本中,Apple提供了Accessibility Inspector测试工具...

Accessibility Inspector提供了一个实用程序窗口,该窗口显示当前在鼠标指针下方的对象的可访问性层次结构中的属性(和值),操作和位置。要使用Accessibility Inspector,请确保在通用访问首选项中启用辅助应用程序。

辅助功能检查器图标

这是Trim Enabler的示例,您无法在其中选择和复制“关于”标签的文本:

修剪启动器-关于选项卡

以及辅助功能检查器显示的窗口:

辅助功能检查器示例

鼠标指针悬停在长文本上,然后可以在AXValue中找到它。

编辑2014-10-18:

下一个示例分步显示如何复制使用Accessibility Inspector 4.0无法选择的文本:

打开将从中提取信息的窗口,然后打开“辅助功能检查器”,然后将鼠标指针悬停在感兴趣的元素上:

copy_text_with_Accessibility_Inspector

Command ⌘+ 7锁定辅助功能检查器,然后单击要复制的行(例如AXValue),然后按Command ⌘+ C将其复制到剪贴板:

lock_Accessibility_Inspector_and_select_AXValue

将复制的文本粘贴到需要的地方:

贴上文字


我尝试使用辅助功能检查器执行此操作,但无法获取文本。你能解释一下步骤吗?
Metal Gear

1
@MetalGear->我添加了另一个示例,该示例逐步显示了如何使用Accessibility Inspector 4.0复制所需的文本
iolsmit 2014年

1

通常情况是程序员需要逐个对话框地显示此文本,因此除非程序打算让您拥有该功能,否则您不容易复制文本。

您可以做的事,但似乎比其值得做的工作还多得多,那就是启用通用访问权限,其中可以将文本发送到盲文显示器或其他专用设备等外部设备,并以某种方式捕获。

您也可以尝试破解该程序并修改对话框调用以更改内容,以使其始终处于可选状态。对于编程方面而言,这可能是一个更好的问题。

您已经完成了实际的工作-拍摄快照,并希望将消息记录到其他位置的文本文件中。链接到这个问题可能是一个很好的方法,可以询问程序的开发人员您在哪里需要这种能力来修改其编码惯例,例如Safari,Terminal和上面评论中提及的其他程序。


0

您还可以在AppleScript编辑器中运行如下脚本:

tell application "System Events"
    value of UI elements of windows of process "Application Name"
end tell

如果您没有在结果中看到该文本,请尝试在之后添加一个或多个UI elements of部分value of

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.