Automação de cliques Applescript no navegador Google Chrome?

9

Olá colegas programadores!

Gostaria de salvar um código de AppleScript como aplicativo, para que, quando eu abrir o aplicativo, ele vá para o Google Chrome e atenda uma chamada no Google Voice.

Já terei minha conta do Gmail aberta no navegador Chrome, portanto, tudo o que é necessário é que o aplicativo AppleScript peça ao Google Chrome para ativar e clique em uma área específica (onde o botão aparecerá) para aceitar a chamada.

Como posso descobrir as coordenadas de onde quero que o mouse clique? Porque estou fazendo um aplicativo separado para clicar em outro lugar e encerrar a chamada.

Alguém pode me dizer como eu codificaria isso no AppleScript? Ou existe um caminho mais facil?

O código a seguir é semelhante a algo que encontrei e funciona, mas não tenho certeza de onde / se ele está clicando ...

tell application "Safari" to activate
tell application "System Events"
   tell process "Safari"
   click at {300, 100} -- {from left, from top}
   end tell
end tell

Obrigado pelo seu tempo, -Sebastian

seba1685
fonte

Respostas:

11

Você também pode clicar em elementos com JavaScript:

tell application "Google Chrome" to tell active tab of window 1
    execute javascript "document.getElementById('chrome-web-store-title').click()"
    --execute javascript "document.querySelectorAll('.tile-grid .most-visited')[3].click()"
end tell

Foco em uma guia existente por URL:

tell application "Google Chrome"
    repeat with w in windows
        set i to 1
        repeat with t in tabs of w
            if URL of t starts with "https://mail.google" then
                set active tab index of w to i
                set index of w to 1
                return
            end if
            set i to i + 1
        end repeat
    end repeat
end tell
Lri
fonte
2

Parece que ele está clicando em 300 pixels à direita e 100 pixels abaixo no canto superior esquerdo. (Não sei se esse é o canto superior esquerdo da tela ou da janela do Safari ...) Você pode descobrir onde está pressionando Shift- Command- e 4, em seguida, movendo a cruz até o número superior ser 300 e o o número inferior é 100. Você pode se livrar da mira pressionando escape. Depois, você pode descobrir onde realmente deseja clicar no script e alterar os números no script para corresponder.

daviewales
fonte
11
Obrigado por esse atalho, daviewales! O único problema é que clicar parece funcionar apenas dentro dos domínios do próprio NAVEGADOR ... como em, posso clicar e abrir uma nova guia, clicar em arquivo, atualizar botão, mas NÃO qualquer botão no site real. Alguma solução?
precisa saber é o seguinte
Acabei de testar e descobri que era possível clicar nos e-mails do Gmail e nos botões da página inicial do Google, mas não era possível clicar em nenhum dos botões da janela do Google Talk.
Davisales
1

É fácil, você pode fazer isso em cinco etapas!

  1. editor de scripts em aberto

  2. clique Record

  3. abra o Finder e ative o Google Chrome

  4. clique Stopou no círculo com um hexágono na frente

  5. pressione Cmd+ Se uma janela aparecerá - salve seu script como um aplicativo e clique no círculo com as palavras "start-up" ao lado dele

Epílogo: reinicie o seu Mac e veja o Chrome parecer mágico!

user109883
fonte