Duvida DOM.

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

thalesduarte
Posts: 95
Joined: 13 Sep 2021, 06:08

Duvida DOM.

Post by thalesduarte » 06 Jun 2022, 13:16

Olá a todos, gostaria de tirar uma dúvida a respeito do IF utilizando DOM (document.elements)

Estou montando uma espécie de automação via WEB e gostaria de entender onde posso colocar uma verificação caso ele não encontre o elemento.


Atualmente o que o script faz.

Ele entra no WEB.

Verifica se tem o elemento, se tiver ele clica.
Se não tiver ele dá um erro.

Então como posso fazer para que CASO DÊ o erro, ele faça outra coisa?

Code: Select all

document.getElementsByTagName('td')[49].click()
Existe algum tipo de

Code: Select all

if (fulano == erro )
{
fazer outra coisa
}
?

Grato pela atenção

User avatar
Gio
Posts: 1257
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Duvida DOM.

Post by Gio » 07 Jun 2022, 08:41

Bom dia Thalesduarte.

Você pode usar Try/Catch para isso.

Exemplo: No código abaixo, depois que a página estiver carregada no IE, a hotkey F2 funcionará normalmente (button 0), mas a hotkey F3 não vai funcionar (DICA: Se você apertar F2, use o botão VOLTAR do navegador para tentar a outra hotkey, umas vez que quando aciona o F2 a página muda). Veja como a msgbox será ativada somente na hotkey que falha (F3).

Code: Select all

#Persistent
#SingleInstance, Force


	IE := ComObjCreate("InternetExplorer.Application")
	
	IE.Navigate("www.autohotkey.com/boards")
	
	while !(IE.ReadyState = 4 && !IE.Busy && IE.document.readyState = "Complete")
	{
		Sleep, 100
	}
	
	Sleep 500
	
	IE.visible := true
	return
	
	
	F2::
	Try
	{
		Var := IE.document.getElementsByTagName("Button")[0]
	}
	Catch e 
	{
		; >> Nesse bloco vai o código do que acontecer em caso de erro <<
		msgbox, 0x10, Erro, O comando falhou. Hora de tomar mais um café!
		Return
	}
	Var.Click()
	Return
	
	
	F3::
	Try
	{
		Var := IE.document.getElementsByTagName("Button")[1]
	}
	Catch e {
		; >> Nesse bloco vai o código do que acontecer em caso de erro <<
		msgbox, 0x10, Erro, O comando falhou. Hora de tomar mais um café!
		Return
	}
	Var.Click()
	Return

Post Reply

Return to “Ajuda e Suporte Geral”