Como copiar o conteúdo do texto de uma caixa de diálogo no OS X?

9

Muitas pessoas não sabem que no Windows você pode copiar todo o conteúdo de texto de uma MessageBox pressionando Ctrl ⌃+ Cquando a caixa de diálogo está focada.

Esse é um recurso essencial para relatar mensagens de erro e, em alguns casos, elas podem ser enormes.

Ainda assim, parece que no OS X, esse Command ⌘+ Cnão funciona e eu estou me perguntando se existe outro método para fazer isso.

Fazer capturas de tela não é tão conveniente, principalmente porque elas não são pesquisáveis: p

Estou procurando uma solução genérica, se existir . Aqui está um exemplo:

insira a descrição da imagem aqui

sorin
fonte
2
Em alguns casos, você pode selecionar o texto com o mouse / trackpad e, uma vez selecionado, pode copiá-lo por Cmd + C; mas, infelizmente, que nem sempre é possível
iolsmit
Parece que depende de como o desenvolvedor implementou o diálogo. No Safari, Textmate e Terminal, todas as caixas de diálogo que eu tentei eram selecionáveis. Tentei exibir a caixa de diálogo sobre para transmitir, e seu texto não é selecionável.
Badams
Acordado. Tudo depende da caixa. Algumas caixas de texto eu posso selecionar, outras não. Sua melhor aposta é apenas tirar uma captura de tela da caixa de diálogo.
Daviesgeek # 8/12

Respostas:

6

A maneira mais genérica pode ser usar o Inspetor de Acessibilidade e copiar o texto da janela.

No Mac OS X versão 10.4 e posterior, a Apple fornece a ferramenta de teste do Accessibility Inspector ...

O Inspetor de acessibilidade apresenta uma janela de utilitário que exibe os atributos (e valores), ações e posição na hierarquia de acessibilidade do objeto atualmente sob o ponteiro do mouse. Para usar o Accessibility Inspector, certifique-se de ativar os aplicativos auxiliares nas Universal Access Preferences.

Ícone Inspetor de acessibilidade

Aqui está um exemplo para o Trim Enabler, onde você não pode selecionar e copiar o texto da guia "Sobre":

Enabler Trim - guia Sobre

E a janela exibida pelo Accessibility Inspector:

Exemplo do Inspetor de Acessibilidade

Isso ocorre com o ponteiro do mouse pairando sobre o texto longo, que pode ser encontrado no AXValue.

Editar 18/10/2014:

O próximo exemplo mostra passo a passo como copiar texto que não é selecionável usando o Accessibility Inspector 4.0:

Abra a janela de onde as informações devem ser extraídas e abra o Accessibility Inspector e passe o ponteiro do mouse sobre o elemento de interesse:

copy_text_with_Accessibility_Inspector

Pressione Command ⌘+ 7para bloquear o Accessibility Inspector, clique na linha que deseja copiar (por exemplo, AXValue) e pressione Command ⌘+ Cpara copiar para a área de transferência:

lock_Accessibility_Inspector_and_select_AXValue

Cole o texto copiado onde necessário:

texto colado

iolsmit
fonte
Tentei fazer isso usando o inspetor de acessibilidade, mas não consegui obter o texto. Você pode explicar os passos?
Metal Gear
11
@MetalGear -> Adicionei outro exemplo que mostra passo a passo como copiar o texto desejado usando o Accessibility Inspector 4.0
iolsmit
1

O caso geral é que o programador precisa expor esse texto em um diálogo por diálogo, portanto, não é fácil copiar o texto, a menos que o programa pretenda que você tenha essa função.

O que você poderia fazer, mas parecer mais trabalhoso do que vale, é permitir o acesso universal, onde o texto pode ser enviado para um dispositivo externo, como um monitor em braille ou outro dispositivo de finalidade especial, e de alguma forma capturado.

Você também pode tentar quebrar esse programa e modificar a chamada de diálogo para alterar as coisas, para que seja sempre selecionável. Isso pode ser uma pergunta melhor para o lado da programação.

Você fez a coisa prática - tire uma foto e espere que a mensagem seja registrada em outro lugar em um arquivo de texto. Vincular a essa pergunta pode ser uma boa maneira de perguntar ao desenvolvedor de programas onde você precisa dessa capacidade de modificar sua prática de codificação como Safari, Terminal e outros programas mencionados nos comentários acima.

bmike
fonte
0

Você também pode executar um script como este no AppleScript Editor:

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

Se você não vir o texto nos resultados, tente adicionar uma ou mais UI elements ofpartes depois value of.

Lri
fonte