Навигация / нажатие в выпадающих списках на веб-сайте

311
Reservist72

Я пытаюсь, чтобы мой Excel VBA переходил на определенную страницу финансового веб-сайта, но не могу правильно щелкнуть или выбрать раскрывающийся список в «меню при наведении курсора», чтобы перейти на эту страницу. Я пытался эмулировать похожие вопросы, встречающиеся на этой доске, но мой код, похоже, не достигает нужной страницы. Нужной страницей является страница «Акции» под заголовком «Новости и исследования», расположенная рядом с верхним центром главной страницы Fidelity.com.

Вот мой код:

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 

И вот основной HTML, который является целью навигации моего кода. Интересующая ссылка является шестой в списке тегов (ссылка начинается с "eresearch ..."). Есть несколько «закомментированных» строк, которые я использовал для целей отладки, например, интересующая ссылка является 39-ым тегом «a» в коллекции.

</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> 

Я уверен, что это что-то простое, но мне ни в чем не повезло.

Обычно я просто вставляю URL прямо в мой код (и это можно сделать), но это часть большего кода, который я использую для входа на сайт первым. Я должен манипулировать кнопками веб-сайта внутри, как вошедший в систему пользователь, чтобы получить нужные мне данные (поскольку они доступны только для таких клиентов, как я, часто заходите в систему для получения информации и проведения исследований).

Любое руководство будет оценено.

Благодарю. Отметка.

0

0 ответов на вопрос