Заранее благодарю вас за любую помощь, которая может быть предложена. Я пытаюсь активировать ссылку с Excel VBA, чтобы изменить представление данных, представленных на панели управления. Мне удалось выполнить логин и процесс навигации, и считаю, что скребковый элемент будет работать плавно после этого шага. Я не считаю, что я нацелен на правильные элементы или неправильно структурирую последовательность VBA.Excel Web Scraping - fireEvent on ul list item
Я пытаюсь вызвать «вид консультанта» в пределах ниже HTML:
<div style="width:100%; clear:both">
<ul class="tab_menu clearfix" style="padding-top:5px;">
<li id="site_ti" class="table_tab_item">
<a href="#" onclick="update_table_tab('site'); return false;">By Site</a>
</li>
<li id="director_ti" class="table_tab_item">
<a href="#" onclick="update_table_tab('director'); return false;">By Director</a>
</li>
<li id="team_lead_ti" class="table_tab_item">
<a href="#" onclick="update_table_tab('team_lead'); return false;">By Team Manager</a>
</li>
<li id="consultant_ti" class="table_tab_item">
<a href="#" onclick="update_table_tab('consultant'); return false;">By Consultant</a>
</li>
</ul>
Я thusfar использовали следующие процедуры без результата:
Эти заявления в начале Public Sub:
Public Sub Huddle_Report_Scrape(ObjIE)
Dim ie As SHDocVw.InternetExplorer
Dim doc As MSHTML.HTMLDocument 'If you have a reference to the HTML Object Library
Dim objShell, obj, objInputs, objButtons As Object
Dim htmldoc As MSHTML.IHTMLDocument 'Document object
Dim tbl As MSHTML.IHTMLElementCollection
Dim eleColtr As MSHTML.IHTMLElementCollection 'Element collection for tr tags
Dim eleColtd As MSHTML.IHTMLElementCollection 'Element collection for td tags
Dim eleRow As MSHTML.IHTMLElement 'Row elements
Dim eleCol As MSHTML.IHTMLElement 'Column elements
Dim Table As MSHTML.HTMLTable
Dim row As MSHTML.HTMLTableRow
Dim cell As MSHTML.HTMLTableCell
Dim col As MSHTML.HTMLTableCol
Ниже приведена функция, которую я вызываю, чтобы вызвать вид консультанта.
Function FnConsultantView(ObjPage)
With ObjPage
Set li = .getElementByValue("consultant")
With li
.Focus
.FireEvent "onclick"
End With
End With
MsgBox ("Operation Completed")
Я также попытался использовать элементы из следующего поста без особого везения: FireEvent and IE11
'getElementByValue' - это что? Что происходит, когда вы запускаете этот код? –
Попробуйте ObjPage.Document.getElementByID ("consultant_ti"). GetElementsByTagName ("a") (0) .Щелкните. Это должно щелкнуть элемент. –
Это было использовано так же, как и getElementByID, и оно будет запускаться в приглашении Operation Completed, но не активирует вкладку. – Strategorm