Я пытаюсь, чтобы мой 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 & 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 & 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 & 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 прямо в мой код (и это можно сделать), но это часть большего кода, который я использую для входа на сайт первым. Я должен манипулировать кнопками веб-сайта внутри, как вошедший в систему пользователь, чтобы получить нужные мне данные (поскольку они доступны только для таких клиентов, как я, часто заходите в систему для получения информации и проведения исследований).
Любое руководство будет оценено.
Благодарю. Отметка.