Wie kopiere ich den Textinhalt eines Dialogfelds unter OS X?

9

Vielen Menschen ist nicht bewusst, dass Sie unter Windows den gesamten Textinhalt einer MessageBox kopieren können, indem Sie Ctrl ⌃+ drücken, Cwenn der Dialog fokussiert ist.

Dies ist eine wesentliche Funktion zum Melden von Fehlermeldungen. In einigen Fällen können diese sehr umfangreich sein.

Trotzdem scheint es, dass Command ⌘+ unter OS X Cnicht funktioniert, und ich frage mich, ob es dafür eine andere Methode gibt.

Screenshots zu machen ist nicht so bequem, insbesondere, dass sie nicht durchsuchbar sind: p

Ich suche nach einer generischen Lösung, falls vorhanden . Hier ist ein Beispiel:

Geben Sie hier die Bildbeschreibung ein

Sorin
quelle
2
In einigen Fällen können Sie den Text mit der Maus / dem Trackpad auswählen und nach Auswahl mit Cmd + C kopieren. aber leider ist das nicht immer möglich
iolsmit
Es scheint, dass es davon abhängt, wie der Entwickler den Dialog implementiert hat. In Safari, Textmate und Terminal konnten alle Dialogfelder ausgewählt werden, die ich ausprobiert habe. Ich habe versucht, das Info-Dialogfeld für "Senden" anzuzeigen, und der Text kann nicht ausgewählt werden.
Badams
Einverstanden. Es hängt alles von der Box ab. Einige Textfelder kann ich auswählen, andere nicht. Am besten machen Sie einfach einen Screenshot des Dialogfelds.
Daviesgeek

Antworten:

6

Die allgemeinste Möglichkeit besteht darin, den Eingabehilfeninspektor zu verwenden und den Text aus dem Fenster zu kopieren.

In Mac OS X 10.4 und höher bietet Apple das Testtool Accessibility Inspector an ...

Der Eingabehilfeninspektor zeigt ein Dienstprogrammfenster an, in dem die Attribute (und Werte), Aktionen und Positionen in der Eingabehilfenhierarchie des Objekts angezeigt werden, das sich derzeit unter dem Mauszeiger befindet. Stellen Sie zur Verwendung des Eingabehilfeninspektors sicher, dass unterstützende Anwendungen in den universellen Zugriffseinstellungen aktiviert sind.

Symbol für den Eingabehilfeninspektor

Hier ist ein Beispiel für Trim Enabler, bei dem Sie den Text der Registerkarte "Info" nicht auswählen und kopieren können:

Trim Enabler - Registerkarte "Info"

Und das vom Eingabehilfeninspektor angezeigte Fenster:

Beispiel für den Accessibility Inspector

Dies geschieht mit dem Mauszeiger über dem Langtext, der dann in AXValue zu finden ist.

Bearbeiten 2014-10-18:

Das nächste Beispiel zeigt Schritt für Schritt, wie Sie Text kopieren, der mit Accessibility Inspector 4.0 nicht ausgewählt werden kann:

Öffnen Sie das Fenster, aus dem die Informationen extrahiert werden sollen, und öffnen Sie den Eingabehilfeninspektor. Bewegen Sie dann den Mauszeiger über das gewünschte Element:

copy_text_with_Accessibility_Inspector

Drücken Sie Command ⌘+ , 7um Zugänglichkeit Inspector zu sperren, dann klicken Sie auf die Zeile , die Sie kopieren möchten (zB AXValue) und drücken Sie Command ⌘+ Cin die Zwischenablage kopieren:

lock_Accessibility_Inspector_and_select_AXValue

Fügen Sie den kopierten Text bei Bedarf ein:

Text eingefügt

iolsmit
quelle
Ich habe versucht, dies mit dem Eingabehilfeninspektor zu tun, konnte den Text jedoch nicht abrufen. Können Sie die Schritte erklären?
Metal Gear
1
@MetalGear -> Ich habe ein weiteres Beispiel hinzugefügt, das Schritt für Schritt zeigt, wie der gewünschte Text mit Accessibility Inspector 4.0
kopiert wird
1

Der allgemeine Fall ist, dass der Programmierer diesen Text dialogweise verfügbar machen muss, sodass Sie den Text nur dann einfach kopieren können, wenn das Programm beabsichtigt, dass Sie diese Funktion haben.

Die Dinge, die Sie tun könnten, aber mehr Arbeit als es wert zu sein scheint, sind den universellen Zugriff zu ermöglichen, bei dem der Text an ein externes Gerät wie eine Braillezeile oder ein anderes Spezialgerät gesendet und irgendwie erfasst werden kann.

Sie können auch versuchen, dieses Programm zu knacken und den Dialogaufruf so zu ändern, dass er immer auswählbar ist. Das könnte eine bessere Frage für die Programmierseite sein.

Sie haben die praktische Sache erledigt - machen Sie einen Schnappschuss und hoffen Sie, dass die Nachricht an anderer Stelle in einer Textdatei protokolliert wird. Das Verknüpfen mit dieser Frage kann eine gute Möglichkeit sein, den Entwickler von Programmen zu fragen, bei denen Sie diese Fähigkeit benötigen, um ihre Codierungspraxis wie Safari, Terminal und andere in den obigen Kommentaren erwähnte Programme zu ändern.

bmike
quelle
0

Sie können ein solches Skript auch im AppleScript Editor ausführen:

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

Wenn Sie den Text in den Ergebnissen nicht sehen, versuchen Sie, danach einen oder mehrere UI elements ofTeile hinzuzufügen value of.

Lri
quelle