Navigieren / Klicken durch Hover-Dropdowns auf einer Website

458
Reservist72

Ich versuche, dass mein Excel VBA zu einer bestimmten Seite einer Finanzwebsite navigiert, aber ich kann nicht richtig durchklicken oder eine Dropdown-Option in einem "Hover-Menü" auswählen, um zu dieser Seite zu gelangen. Ich habe versucht, ähnliche Fragen zu emulieren, die auf dieser Tafel zu sehen sind, aber mein Code scheint nicht zur gewünschten Seite zu gelangen. Die gewünschte Seite ist die "Aktien" -Seite unter der Überschrift "News & Research" in der Mitte oben auf der Startseite von Fidelity.com.

Hier ist mein Code:

Sub navigator()  Dim htmldoc As MSHTML.IHTMLDocument Dim eleColTags As MSHTML.IHTMLElementCollection Dim eleTag As MSHTML.IHTMLElement  Dim IE As InternetExplorer Dim counter As Long  Set IE = CreateObject("InternetExplorer.Application") With IE .Top = 0 .Left = 0 .Width = 1000 .Height = 1000 .Visible = True .navigate "http://www.fidelity.com" End With  Do While IE.Busy Or IE.readyState <> 4 DoEvents Loop  With IE.document.all  Set htmldoc = IE.document  Set eleColTags = htmldoc.getElementsByTagName("a")  For Each eleTag In eleColTags 'If counter = 39 Then 'counter = counter 'End If  'Debug.Print counter, eleTag  If InStr(eleTag, "https://eresearch.fidelity.com/eresearch/landing.jhtml") > 0 Then  With eleColTags .Item.Click End With Exit For  End If  counter = counter + 1 Next  End With  End Sub 

Und hier ist das zugrunde liegende HTML, das das Ziel der Navigation meines Codes ist. Der interessierende Link ist der 6. in der Liste der Tags (der Link beginnt mit "eresearch ..."). Es gibt ein paar Zeilen, die "auskommentiert" wurden, die ich zu Debugging-Zwecken verwendet habe. Der interessierende Link ist das 39. "a" -Tag in der Auflistung.

</li><li class="pnhs"> <div class="pnsh"><a class="pnshl" href="#" aria-haspopup="true" aria-expanded="false">News &amp; Research</a></div> <div class="pnl2"> <ul> <li class="" tms="navLink"><a href="https://www.fidelity.com/news/overview" id="Link_1474659208719" name="Link_1474659208719" >News</a></li> <li class="" tms="navLink"><a href="https://scs.fidelity.com/customeronly/watchlist.shtml" target="_top" >Watch List<span class="pnlock pnlogout"><span class="off-screen">Log In Required</span></span></a></li> <li class="" tms="navLink"><a href="http://quotes.fidelity.com/ftgw/fbc/ofquotes/webxpress/get_quote" id="Link_1474659319682" name="Link_1474659319682" >Quotes</a></li> <li class="" tms="navLink"><a href="https://scs.fidelity.com/customeronly/alerts.shtml" target="_top" >Alerts<span class="pnlock pnlogout"><span class="off-screen">Log In Required</span></span></a></li> <li class="" tms="navLink"><a href="https://www.fidelity.com/fund-screener/research.shtml" id="Link_1474659463496" name="Link_1474659463496" >Mutual Funds</a></li> <li class="" tms="navLink"><a href="https://eresearch.fidelity.com/eresearch/landing.jhtml" target="_top">Stocks</a></li> <li class="" tms="navLink"><a href="https://fixedincome.fidelity.com/ftgw/fi/FILanding" target="_top" >Fixed Income, Bonds &amp; CDs</a></li> <li class="" tms="navLink"><a href="https://screener.fidelity.com/ftgw/etf/evaluator/goto/landing" target="_top" >ETFs</a></li> <li class="" tms="navLink"><a href="https://researchtools.fidelity.com/ftgw/mloptions/goto/optionChain" target="_top">Options</a></li> <li class="" tms="navLink"><a href="https://eresearch.fidelity.com/eresearch/goto/markets_sectors/landing.jhtml" target="_top" >Markets &amp; Sectors</a></li> <li class="" tms="navLink"><a href="https://brokerage.fidelity.com/ftgw/brkg/ipo/calendar" target="_top" >IPOs</a></li> <li class="" tms="navLink"><a href="https://www.fidelity.com/research-annuities/overview" target="_top" >Annuities</a></li> <li class="" tms="navLink"><a href="https://www.fidelity.com/learning-center" id="Link_1474659825988" name="Link_1474659825988" >Learning Center</a></li> <li class="pnlogout" tms="navLink"><a href="https://www.fidelity.com/go/notebook" id="Link_1474659859175" name="Link_1474659859175" >Notebook</a></li> <li class="pnlogin" tms="navLink"><a href="https://dpcs.fidelity.com/ftgw/dpcs/notebook/#?channel=nav" target="_top">Notebook</a></li> </ul> 

Ich bin mir sicher, dass es etwas Einfaches ist, aber ich hatte bei nichts Glück.

Normalerweise füge ich die URL einfach direkt in meinen Code ein (und das kann gemacht werden), aber dies ist Teil eines größeren Codes, den ich zum ersten Anmelden an der Site verwende. Ich muss die Website-Schaltflächen intern als angemeldeter Benutzer bearbeiten, um zu den gewünschten Daten zu gelangen (da diese nur für Kunden wie mich verfügbar sind, melden Sie sich häufig an, um Informationen und Forschungsbedarf zu erhalten).

Jede Anleitung wäre dankbar.

Vielen Dank. Kennzeichen.

0

0 Antworten auf die Frage