Como interagir com sites usando VBA e Internet Explorer - O método Execscript
Este post foi originalmente publicado em http://officevbavsto.blogspot.com/2011/06/vba-internet-exemplo-de-utilizacao-do.html
Em um dos meus artigos eu ensinei a usar instruções javascript a partir de seu código VBA. Hoje, quero dar um exemplo prático do poder desta ferramenta.
Imagine que eu quero fazer um download no site Freakshare.com
Veja na imagem, que existe um contador de tempo que geralmente se inicia em 59 segundos.
O código para abrir essa página seria assim:
Sub AcessaPagina()
Dim ie As InternetExplorer
Set ie = New InternetExplorer
ie.Navigate "http://freakshare.com/files/cnv4vonx/-Claymore-Vol_14.rar.html"
ie.Visible = True
Do While ie.Busy
Loop
End Sub
Se olharmos com mais detalhe o código fonte do site Freakshare.com, observaremos o seguinte:
Com execução javascript, você pode alterar esse valor da variável time, mas já adianto que não retardará o download, muito provável porque do lado servidor do site Freakshare existe uma validação.
Como ficaria o código, então?
Sub AcessaPagina()
Dim ie As InternetExplorer
Set ie = New InternetExplorer
ie.Navigate "http://freakshare.com/files/cnv4vonx/-Claymore-Vol_14.rar.html"
ie.Visible = True
Do While ie.Busy
Loop
Do Until ie.Document.ReadyState = "complete"
Loop
ie.Document.parentwindow.execscript ("time = 5")
End Sub
Execute esse código e veja o que acontece!
Se você tentar fazer o download após executar este código e digitar o Captcha no site, receberá a seguinte mensagem do site Freakshare.com.
Créditos
Photo by Life Of Pix from Pexels