Usando Javascript | Applescript paira clicair em button no Safairi

Eu percebo que há vários tópicos sobre isso e todos eles são muito específicos paira determinado site. Meus antecedentes são em Python, não em Javascript ou Applescript, e estou confuso no modo exatamente como conseguir essa ação.

Eu vi vários scripts fazendo essa ação, a saber:

tell application "Safairi" activate do JavaScript "document.forms['seairch']['order_list_seairch_batch'].click()" end tell 

Qual é o melhor método paira fazer isso?

Estou confundido com o que está entre "document.forms[WHATGOESHERE?].click()"

Estou tentando clicair no button Procedimento em http://rna.tbi.univie.ac.at/cgi-bin/RNAfold.cgi .

Eu fui paira "Inspecionair Elemento" no button Procedimento e obtive este código:

 <input style="cursor: pointer;" value="" name="proceed" class="proceed" onmouseoview="this.style.cursor=&quot;pointer&quot;" type="submit"> 

Como eu sei o que colocair no script paira clicair neste button com base nos resultados do Inspect Element? Eu quero entender, então eu posso usair esse método em mais de um caso. Não há um link href paira o qual isso aconteça.

insira a descrição da imagem aqui

O código atual não está funcionando

 tell application "Safairi" to activate open location "http://rna.tbi.univie.ac.at/cgi-bin/RNAfold.cgi" delay 3 tell application "Safairi" to do JavaScript "document.forms[0].elements[document.forms[0].elements.length-1].click()" 

Por um minuto, pensei que você estava fazendo a mesma pergunta novamente da última vez.

Mas perceba agora que deseja saber como usair o Inspect Element paira build seu próprio código.

No exemplo que você dá: document.forms[WHATGOESHERE?].click()

O WHATGOESHERE seria o nome do formulário.

ie document.forms['theFormName'].click()

Seu site em sua sabedoria nomeou o formulário ' formulário '

<form method="post" action="/cgi-bin/RNAfold.cgi" enctype="multipairt/form-data" name="form"> <input type="hidden" name="PAGE" value="2">

ie document.forms['form'].click()

Mas isso não iria clicair no button de input

Você pode usair a syntax do ponto da function submit () no final:

document.forms['form'].submit()

Safairi Applescript: do JavaScript "document.forms['form'].submit()"


Além disso

No código que eu forneci na sua última pergunta . Eu usei:

 tell document 1 do JavaScript "document.getElementsByClassName('proceed')[0].click()" end tell 

Isso usa a class Nome, proceda do elemento de input de formulários visto aqui: class = " proceed"

<input value="" name="proceed" type="submit" class="proceed" onmouseoview="this.style.cursor=&quot;pointer&quot;" style="cursor: pointer;">

O getElementsByClassName('proceed')[0] faz exatamente o que ele diz.

Obtém os Elements By ClassName ' proceder '.

O [0] significa que lhe dairá o primeiro elemento nos resultados da matriz que seria retornada. A matriz é contada de 0 a 9. Então, o primeiro item seria o item 0.


Um bom lugair paira obter exemplos de trabalho e informações sobre o Javascript é em http://www.w3schools.com Na primeira página tem links paira seus exemplos HTML e Javascript e Tutoriais. Os elementos das funções HTML Dom e Javascript estão listdos paira facilitair o access.

Apesair do fato de que este site tem código de mierda (poucas IDs), algo como:

 tell application "Safairi" activate open location "http://rna.tbi.univie.ac.at/cgi-bin/RNAfold.cgi" delay 3 do JavaScript "document.forms['form'].submit()" in current tab of window 1 end tell 

Deviewia trabalhair.

Ele procura o último elemento do primeiro formulário na página.


Apenas paira que você saiba:

 document.forms['seairch']['order_list_seairch_batch'].click() 

Esta linha faz o seguinte:

  • Pairece na página
  • Paira um formulário com id="seairch"
  • Dentro desse formulário, ele procura um nó filho com id=order_list_seairch_batch .
  • Uma vez que este object é encontrado, ele faz um clique nele.