Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Como inserir texto no campo de senha com selenium vba/basic
-
- 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
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 !
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 !
Re: Como inserir texto no campo de senha com selenium vba/basic
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.
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.
Re: Como inserir texto no campo de senha com selenium vba/basic
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
-
- 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
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 ?
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 ?
Re: Como inserir texto no campo de senha com selenium vba/basic
Em qual versão do IE está rodando? Testei aqui no IE11 e o teclado não apareceu.
-
- 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
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.
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.
Re: Como inserir texto no campo de senha com selenium vba/basic
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.
-
- 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
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.
Meu chefe quer por que quer que o site seja automatizado em selenium....
Mas muito obrigada por tentar ajudar.
Re: Como inserir texto no campo de senha com selenium vba/basic
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