Página 1 de 1

Acessar instância em execução do navegador

Enviado: Qui Jun 29, 2017 9:13 pm
por MarceloStrehlow
Boa Noite!
Como faço para capturar dados de um navegador aberto?
Na maioria dos códigos é iniciado um novo navegador. Preciso acessar o navegador já aberto no Windows.
Nos exemplos do Selenium encontrei o código abaixo, porém não funciona aqui.

Código: Selecionar todos

' This module shows how to work with a running instance of
' a driver by using the GetObject function.
'
' To do so, create a vbs file with the following code and run it.
'
' Set driver = CreateObject("Selenium.FirefoxDriver")
' driver.Start
' WScript.Echo "Click OK to quit"
'


Public Sub OpenURL()
  Dim driver As WebDriver
  Set driver = GetObject("Selenium.WebDriver")
  driver.Get "https://www.google.co.uk"
End Sub
Obrigado!

Re: Acessar instância em execução do navegador

Enviado: Qui Jun 29, 2017 9:48 pm
por webmaster
Tome cuidado com isso, pelo menos é o que diz a comunidade:

https://stackoverflow.com/questions/196 ... n-selenium

Mecanismos como o Selenium pressupõem que você está no controle da situação. O ideal é reproduzir os passos para chegar até o ponto em que você está querendo capturar o browser.

Isso acontece porque o WebDriver "envelopa" o navegador para poder controlá-lo. É mais complicado fazer isso com um navegador já aberto.

Att

Re: Acessar instância em execução do navegador

Enviado: Dom Jul 02, 2017 3:57 pm
por MarceloStrehlow
Boa Tarde! Obrigado pelo retorno.

Entendo os riscos mas infelizmente é necessário ser desta forma.

Não precisa ser pelo Selenium, pode ser somente pelo IE se facilitar, mas ainda assim preciso de ajuda com o código para acessar o navegador aberto.

Pode me ajudar?

Re: Acessar instância em execução do navegador

Enviado: Seg Jul 03, 2017 12:39 am
por Mikel Silveira Fraga
Marcelo, boa noite.

Bem, não sei se esse código funciona pelo Selenium, mas já utilizei no IE. Como você disse não ter problema se fosse pra esse, resolvi postar aqui e, quem sabe, não lhe ajude.

Código: Selecionar todos

Sub Assumir_Instancia_Aberta()
    Sim ShllWn As SHDocVw.ShellWindows
    Set ShllWn = New SHDocVw.ShellWindows
    For Each IntExp In ShllWn        
        With IntExp            
            If VBA.Left(IntExp.LocationURL, 29) = "https://www.nfe-esales.com.br" Then	
	   	'Com a janela instanciada no objeto InExp, você já pode executar as rotinas necessárias.
	   End If            
        End With        
    Next    
    Set Shl
lWn = Nothing
    Set IntExp = Nothing
End Sub
Espero que esse código possa ajudar na sua dúvida.

Abraços e excelente semana.

Re: Acessar instância em execução do navegador RESOLVIDO

Enviado: Ter Jul 18, 2017 7:23 pm
por MarceloStrehlow
Boa noite Mikel!
Desculpe a demora no retorno... Estava de férias... Muito obrigado!!! É isso mesmo q precisava! Resolveu meu problema... Consegui acessar o IE e capturar os dados do site aberto... Agora estou tendo problema em alguns campos do site, onde o código não consegue capturar o dado, mas isso eh assunto pra outra dúvida, se eu não conseguir resolver pesquisando...
Abraço e ótima semana!!!