Aprendendo Applescript: problemas ao vincular ao Safari

Atropelar

Olá, esta é uma pergunta muito específica e de situação. Basicamente, estou executando o Applescript no Automator no Safari, e o resultado é Nulo.

O que eu tenho

Atualmente, tenho um script que pode fazer o seguinte:

Antes mesmo de executar o programa Automator, tenho o Safari aberto

Em seguida, executo o Automator, que começa com este código:

on run {input, parameters}

    tell application "Safari" to activate
    tell application "System Events"
        keystroke "t" using command down
    end tell
    return input
end run

Este script ativará o Safari e abrirá uma nova guia.

Em seguida, tenho uma pausa no Automator. Isso dará tempo à página para carregar

Após a página do Safari ser aberta, eu executo este código:

on run
    clickID("75610556")
end run

on clickID(theId)
    tell application "Safari"
        do JavaScript "document.getElementById(‘” & theId & “‘).click();" in document 1
    end tell
end clickID

Este script deve ter selecionado o botão com o ID "75610556", mas não o fez. Este é o principal problema do meu programa.

Em seguida, eu executo o seguinte código:

on run {input, parameters}

    tell application "Safari" to activate
    tell application "System Events"
        keystroke "w" using command down
    end tell

    return input
end run

Isso fecha a guia atual.

Em seguida, faço um loop com um loop do Automator.

Com o que eu gostaria de ajudar

Vou abordar minhas perguntas para o programa passo a passo.

Para o primeiro passo, essa é uma boa maneira de configurar as coisas? O Automator é o caminho certo a seguir?

Esse código é eficiente? Ainda tem algum erro?

Eu realmente espero que haja uma alternativa para isso. Eu não encontrei um.

Por que isso não funciona no Safari? Eu sinto que fiz isso certo.

Igual ao número 2, apenas curioso para saber se essa é a melhor maneira de lidar com isso.

Eu acho que essa é uma boa maneira de fazer as coisas.

Por que eu preciso disso + todos os detalhes (Seção opcional)

Esses são detalhes extras, se você quiser. Isso lhe dará quase todos os detalhes e explica por que preciso disso.

Portanto, há um concurso de negócios na minha faculdade. Eu sou um programador iniciante e programou um jogo de rede móvel muito simples. A questão é que há um prêmio em dinheiro para $ 3.000 em um site de pesquisa. Este site é Poll Everywhere. Os juízes não perceberam que este site não é nem um pouco seguro. Nós o denunciamos, e os juízes acharam que não havia razão suficiente para cancelar a pesquisa e talvez procurar uma nova alternativa. Relatamos que o Poll Everywhere pode ser manipulado para oferecer vantagem a qualquer equipe que seja inteligente o suficiente para:

A. Desative os cookies do navegador

B. Use um navegador privado

Mas é claro que os juízes não ouviram. Eles achavam que se alguém ficasse acordado a noite toda, isso poderia mudar, mas durante um período de 2 a 3 horas, isso terá pouco efeito. Para impedir a decisão deles, eu gostaria de fazer um programa de exemplo para eles no meu Mac que surpreenda: Um programa de votação. Este programa abrirá o safari. O Safari já foi configurado para abrir a página de votação no modo de navegador privado. Tudo o que meu programa precisa fazer é abrir uma nova guia, encontrar o ID do botão e clicar nele. Quanto mais rápido isso for feito, melhor.

Nota final: a história por trás foi demais? Eu sei que o estouro de pilha tem uma política "poupe os detalhes". Eu pensei que a versão elaborada poderia ajudar, mas se for uma coisa ruim, eu a removerei.

questionAnswers(1)

yourAnswerToTheQuestion