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

Como inserir texto no campo de senha com selenium vba/basic

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
flaviaS1erro
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Seg Abr 22, 2019 11:01 am

Como inserir texto no campo de senha com selenium vba/basic

Mensagem por flaviaS1erro »

Olá, sou nova em programação.

Anteriormente automatizei um site com vba para IE, porém, preciso agora automatizar esse mesmo site com selenium vba (basic)

meu codigo com vba para ie apenas
"Sub acessarSite()
Dim IE As InternetExplorer

Set IE = new internetExplorer
IE.Visible = True


IE.Navigate "https://www.gestaojudicial.com.br/Pagin ... ertura.asp"
Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop 'Espera a pagina carregar o DOM.


'ID do campo a ser digitado o login
IE.document.getElementById("txtcd_Logon").Focus 'Será selecionado o campo
IE.document.getElementById("txtcd_Logon").Value = "xxxxxxx" 'Será informado o nome do usuário
IE.document.GetElementById("txtcd_Pwd").value = "xxxxxx" ' será informado a senha
IE.document.GetElementById("txtcd_Pwd").click
ou seja, ele acessa a pagina, insere o login e a senha e clica.. assim consegue logar

No selenium eu não sei fazer, já pesquisei e não funciona.

segue o codigo
Public driver As WebDriver 'O driver genérico

Sub acessarSite()

Dim login As WebElement
Dim senha As WebElement


Set driver = New IEDriver

driver.Get "https://www.gestaojudicial.com.br/Pagin ... ertura.asp" 'Navega na página

driver.Window.Maximize 'Maximiza a página

'ID do campo a ser digitado o login
driver.FindElementById("txtcd_Logon").SendKeys "xxxxx--Usuario" 'até aqui funciona
driver.FindElementById("txtcd_pwd").SendKeys "xxxxx" 'Não consigo inserir a senha no campo já tentei de outras formas, tudo que aparece na web tanto em ingles como em português é para java ou c# e sempre a sintaxe está diferente não faço a minina ideia de como adaptar para o vba

Me ajudem, por favor !
Obrigada !


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: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por webmaster »

flaviaS1erro,

O campo está protegido por javascript. O fato do IE conseguir inserir o valor no campo senha chegar a ser um erro. O Selenium está respeitando a proteção. No caso, ou você desabilita o javascript como um todo ou sobreescreve a função dele, já que o teclado virtual que ele oferece não funciona. No caso do IE, não é possível com Selenium. Precisaria migrar ou para o Firefox ou Chrome e mesmo assim seria complicado.


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

Re: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por webmaster »

O código abaixo funcionou no Chrome, mas não no IE:

Código: Selecionar todos

Dim driver As WebDriver

Sub acessarSite()
    Dim login As WebElement
    Dim senha As WebElement
    
    Set driver = New ChromeDriver
    
    
    driver.Get "https://www.gestaojudicial.com.br/Paginas/Principal/_FSet_Abertura.asp" 'Navega na página
    
    driver.Window.Maximize 'Maximiza a página
    
    
    'ID do campo a ser digitado o login
    driver.FindElementById("txtcd_Logon").SendKeys "xxxxx--Usuario" 'até aqui funciona

    driver.ExecuteScript ("document.getElementById('txtcd_Pwd').removeAttribute('onfocus')")
    driver.ExecuteScript ("document.getElementById('txtcd_Pwd').removeAttribute('onkeypress')")
    
    driver.FindElementById("txtcd_Pwd").SendKeys "xxxxx"  'Não consigo inserir a senha no campo já tentei de outras formas, tudo que aparece na web tanto em ingles como em português é para java ou c# e sempre a sintaxe está diferente não faço a minina ideia de como adaptar para o vba
    MsgBox "done"
End Sub


flaviaS1erro
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Seg Abr 22, 2019 11:01 am

Re: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por flaviaS1erro »

Esse site não tem suporte para firefox ou chrome, somente IE.
No caso, eu só preciso que funcione, ou seja, que consiga acessar o site com login e senha... realmente aparece teclado virtual. vc poderia me dizer como desabilito o javascript ou como sobreescrevo a função dele ?


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: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por webmaster »

Em qual versão do IE está rodando? Testei aqui no IE11 e o teclado não apareceu.


flaviaS1erro
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Seg Abr 22, 2019 11:01 am

Re: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por flaviaS1erro »

A versão do internet Explorer é 11.0.120
Eu testei o código que foi escrito pelo webMaster do forúm, porém, ao colocar o usuário e senha no google chrome, e tentar clicar no botão, não acontece nada, não funciona. Realmente o site não tem suporte para o chrome, somente para IE. E preciso fazer funcionar, não importa que não seja via sendKeys, pode ser com alguma outra funcionalidade.


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

Re: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por webmaster »

Funcionou quando mudo para o modo IE8. Ainda assim, não é possível mudar o modo de compatibilidade via Selenium até onde sei. Se o site é feito para o IE, o melhor é usar o próprio para tal manipulação.


flaviaS1erro
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Seg Abr 22, 2019 11:01 am

Re: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por flaviaS1erro »

Não funcionou no meu, mesmo mudando a compatibilidade para ie8.
Meu chefe quer por que quer que o site seja automatizado em selenium....
Mas muito obrigada por tentar ajudar.


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

Re: Como inserir texto no campo de senha com selenium vba/basic

Mensagem por webmaster »

A mudança de modo é manual. Até tentei adaptar o script para o que funcionasse com o IE, mas ao tentar acessar o site no IE11 na minha máquina, ele simplesmente travou :(


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