Friday, November 30, 2018

Serarch google for a keyword and get the resultstat automatically using vba and internet explorer,VBA Teacher Sourav,Kolkata 08910141720

Sub ienavigateandsearch()

Dim searchtxt As Object
Dim numberofpages As Object
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
With ie

    .Visible = True
    .navigate "https://www.google.com"
    'to make the page load so that it will not close in fraction of second
    'to make the internet explorer wait
    'it should do some events
    Do While .busy
   
    DoEvents
   
    Loop
   
    'now if the internet explorer is not fully loaded it should do some events
   
    Do While .readystate <> 4
       
    DoEvents
   
    Loop
   
   
    'to make this application wait for 5 seconds
    'Application.Wait (Now + TimeValue("00:00:05"))
   
    'to search google for a phrase
    'get the name of the textbox by right click on it and inspect elements
    'it is q
   
   
    'Set searchtext = .document.getelementsbyclassname("gLFyf gsfi")
    Set searchtext = .document.getElementsByName("q")
    searchtext.Item.innertext = "bbw"
   
    'now to press the search button
   
    .document.forms(0).submit
   
    'now the search results page will load,
    'to ensure the page load completes
    'we need to do perform the same steps
   
     'to make the page load so that it will not close in fraction of second
    'to make the internet explorer wait
    'it should do some events
    Do While .busy
   
    DoEvents
   
    Loop
   
    'now if the internet explorer is not fully loaded it should do some events
   
    Do While .readystate <> 4
       
    DoEvents
   
    Loop
   
   
    'now I need to get the resultset such as howmany pages google find on this phrase
   
    'to get this we need to right click on the result number at the top of the page
    'and go to inspect elements
   
    'there we see this div which shows the result has an id of
    'resultStats
   
    Set numberofpages = .document.getelementbyid("resultStats")
   
    'to get the resultant text from numberofpages we need to use innertext
   
    MsgBox ("The number of searches is " & numberofpages.innertext)
   
   
   
    .Quit
   
   
End With


End Sub

No comments:

Post a Comment