Excel VBA pour ouvrir la première page de résultat de recherche de google

J'ai pour ouvrir la page de recherche google à l'aide des Macros excel. Je suis en mesure d'ouvrir la page de recherche google, après je donne mon paramètres de recherche dans excel. Cependant, ma tâche est d'ouvrir le premier est retourné page de résultat de recherche, et faire de l'extraction des données dans cette page. J'ai utilisé le code ci-dessous.

Suppose que si j'ai cherché "Sachin Tendulkar wiki", je devrais être en mesure d'ouvrir la première page dans les résultats de recherche. Mon code pour l'instant est comme ci-dessous.

Dim ie As InternetExplorer
Dim RegEx As RegExp, RegMatch As MatchCollection
Dim MyStr As String
Dim pDisp As Object
Set ie = New InternetExplorer
Set RegEx = New RegExp
Dim iedoc As Object

'Search google for "something"
ie.Navigate "http://www.google.com.au/search?hl=en&q=sachin+tendulkar+wiki&meta="

'Loop unitl ie page is fully loaded
Do Until ie.ReadyState = READYSTATE_COMPLETE
Loop



MyStr = ie.Document.body.innertext
Set RegMatch = RegEx.Execute(MyStr)

'If a match to our RegExp searchstring is found then launch this page
If RegMatch.Count > 0 Then
    ie.Navigate RegMatch(0)
    Do Until ie.ReadyState = READYSTATE_COMPLETE
    Loop
         MsgBox "Loaded"
         'show internet explorer
    ie.Visible = True
    'Private Sub ie_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Set iedoc = ie.Application.Document
    'iedoc.getElementById("divid").Value = "poS0"
    'MsgBox iedoc

    'ie.Navigate iedoc.getelementsbytagname("ol")(0).Children(0).getelementsbytagname("a")(0).href
    ie.Navigate iedoc.getelementsbyclassname("divid")("poS0").href
    Else
    MsgBox "No linkedin profile found"
End If

Set RegEx = Nothing
Set ie = Nothing

J'ai regardé le source de la page dans la page de recherche google. J'ai un particulier div id = "pos0", qui est l'id du premier résultat de recherche. Je dois faire de l'IE accédez à la page dont l'div id = "pos0". Je ne suis pas en mesure d'accomplir cette chose en VBA. Peut quelqu'un m'aider?

Merci & Cordialement,
Ramesh

Si vous exécutez la recherche dans Google Chrome et inspecter l'élément, vous pouvez naviguer dans le code HTML sur la page tout le chemin jusqu'à l'endroit où l'URL pour le premier résultat de recherche. Ensuite, vous pouvez regarder ce que tous les éléments environnants sont et de décider quelle serait la meilleure façon de naviguer. Ensuite, l'alimentation de l'URL à ie.Naviguer. Bonne chance 🙂
Salut Patashu, Merci pour la réponse. Le truc c'est que je ne vais pas être sachant que le premier résultat de recherche URL que mes paramètres de recherche va revenir. Je sais pour sûr que l'URL du premier résultat de recherche a div id = "pos0". Je veux accéder à l'URL correspondant à cette section à l'aide de VBA. S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations.
Vous n'avez pas besoin de connaître l'URL, vous pouvez consulter la page et de voir que les éléments environnants de la première URL sont toujours dans le même ordre. Donc, dans votre code VBA vous pouvez naviguer dans le DOM, allez en bas de cet élément, de découvrir ce que l'url est et à nourrir que pour ie.Naviguer. Espérons que cette aide
Salut Patashu, encore une Fois je vous remercie de votre aide. Pouvez-vous svp me dire comment naviguer dans le DOM? Je veux dire que dans mon code j'ai essayé quelque chose comme ça. iedoc.getElementById("divid").Value = "poS0" Mais ça ne fonctionnait pas.
Salut, vous pouvez lire au sujet de DOM ici: w3schools.com/htmldom/default.asp

OriginalL'auteur Ramesh | 2013-02-06