ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

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 » Qui Abr 27, 2017 11:35 pm

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: 2806
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher valor em pagina na Internet

Mensagem por webmaster » Sex Abr 28, 2017 11:12 am

Wagner,

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

Qual a duvida aqui?


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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 » Sex Abr 28, 2017 3:18 pm

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: 2806
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher valor em pagina na Internet

Mensagem por webmaster » Sex Abr 28, 2017 8:41 pm

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?


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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 » Sex Abr 28, 2017 10:12 pm

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: 2806
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher valor em pagina na Internet

Mensagem por webmaster » Seg Mai 01, 2017 1:04 pm

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?


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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 » Ter Mai 02, 2017 6:54 pm

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 3576 vezes
eu achei que fosse a MS runtime, mas mesmo ativada, não funcionou.



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

Re: Preencher valor em pagina na Internet

Mensagem por webmaster » Qua Mai 03, 2017 11:30 am

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

:D


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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