Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Preencher valor em pagina na Internet [RESOLVIDO]

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Preencher valor em pagina na Internet [RESOLVIDO]

Mensagem por Wagner.cwb »

Olá Pessoal,

por favor, preciso da ajuda de vocês.

Eu tenho um código para preencher os campos da internet (usuario e senha), porém de um tempo para cá não consigo mais o mesmo resultado e aparentemente não houve nenhuma mudança no site... bom, certamente houve, porém não consigo reparar...

aqui segue a parte do código que funcionava:

Código: Selecionar todos


    Set IE = New InternetExplorer
    IE.Visible = False
         
    IE.Navigate "http://webprd/siiweb/paginas/detect.jsf"
       
    On Error Resume Next
      
    Do
    Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
        
    IE.Document.all("j_username").innerText = "USUARIO"
    IE.Document.all("j_password").innerText = "SENHA"
    'obtém o forma a qual o controle de login pertence para submetê-lo
    IE.Document.forms(0).submit 

Aqui o código fonte da página:

Código: Selecionar todos

</div>		  
		   <div class="linha">		   
			   <div class="coluna"  style="width:30%;">			   		
			        <div class="linha">
			        	  <label for="registro">Chave:</label>
			         	 <input type="text" name="j_username" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all"/>
			        </div>
			         <div class="linha"> 
				          <label for="senha">Senha:</label>
				          <input type="password" name="j_password" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all"/>
				         </div>
			         <div class="linha"> 
				          <button type="submit" style="margin-left:44px" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only">
							 <span class="ui-button-text ui-c">Acessar</span>
						  </button> 		
			         </div>
			 	</div>
Editado pela última vez por Wagner.cwb em Seg Mai 29, 2017 9:08 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher valor em pagina na Internet

Mensagem por webmaster »

Wagner,

A resposta esta la! A propriedade name dos campos mudou e voce precisar mudar isso no codigo.

Qual a duvida aqui?


Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Re: Preencher valor em pagina na Internet

Mensagem por Wagner.cwb »

Tomas,

eu ainda não tenho conhecimento de como realizar esta edição.
Por favor, pode apontar como fazer?


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher valor em pagina na Internet

Mensagem por webmaster »

Wagner,

Veja que a página é composta de elementos que abrem e fecham com os sinais < e >. Elementos inputs são os que permitem entrada de dados. Cada elemento identificável possuim a propriedade name que permite alcança-lo. Você já faz isso no primeiro código usando:

IE.Document.all("j_username")

Tudo está certo. O que pode estar errado é o form(0). Qual erro está sendo gerado?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Re: Preencher valor em pagina na Internet

Mensagem por Wagner.cwb »

Oi Tomas,

o código roda normal, só passou a não preencher mais os dados, fica tudo em branco e sem acionar o "submit"
Não apresenta erro nenhuma mensagem de erro até o fim da execução.

Bom, minha ignorância esta em reconhecer as "propriedades" do html...
Estudei e vi pelo seu video sobre o selenium basic alguns exemplos e consegui construir um código que atendeu o meu problema, mas sou um cara teimoso e ainda quero arrumar o código sem o uso do selenium...

com o selenium ficou assim:

Código: Selecionar todos

Sub SII()

Set driver = New ChromeDriver

driver.Get "http://webprd/siiweb/paginas/detect.jsf"

Dim usuario, senha As WebElement, form As WebElement

Set usuario = driver.FindElementByName("j_username")
Set senha = driver.FindElementByName("j_password")

If Not usuario Is Nothing Then
    usuario.SendKeys ("C_usuario")
Else
    MsgBox "Usuario inexistente"
End If

If Not senha Is Nothing Then
    senha.SendKeys InputBox("Insira sua senha de rede", "SII", "")
Else
    MsgBox "Usuario inexistente"
End If

Set form = driver.FindElementByTag("button")
form.Submit

End Sub


De repente você pode me perguntar "Pq não usa logo o selenium?"
Pois é... estou pensando em fazer isto, porém minha dúvida é...
Terei que instalar o selenium em todas as máquinas que forem utilizar esta planilha?
Tem alguma forma de autenticar a referencia sem a interferência dos usuários?


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher valor em pagina na Internet

Mensagem por webmaster »

Wagner,

Nao creio que seja o caso. Quanto ao submit, sua primeira versao do codigo usava um form.submit. Nao vi form algum no HTML que enviou. Ja tentou fazer aplication um click no botao?


Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Re: Preencher valor em pagina na Internet

Mensagem por Wagner.cwb »

Tomas,

executei o código inicial (sem selenium) em outro equipamento e para minha surpresa funcionou... mas só funcionou depois que instalei o selenium basic... coincidência? não sei..
Minha suspeita... deve haver uma referência envolvida, você sabe dizer qual?
Na maquina em questão há várias...
Capturar.PNG
Capturar.PNG (13.11 KiB) Exibido 6533 vezes
eu achei que fosse a MS runtime, mas mesmo ativada, não funcionou.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher valor em pagina na Internet

Mensagem por webmaster »

"So funcionou depois que instalei o Selenium Basic" --> Entao ta explicado!

:D


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder