Я делаю код для загрузки информации с веб-сайта. Моя проблема состоит в доступе к Href в выпадающем меню с подменю. Я перепробовал много кодов, но любой из них работает.
Ссылки с getElementById или getElementsByClassName не работают, потому что функции focus, click, selecteditems = "1" не поддерживаются этими объектами. Особенность выпадающего меню заключается в том, что сначала нужно управлять щелчком, а затем фокусировать их. После первого щелчка мышью по трем точкам, он отображает уникальную опцию "Экспорт", а при приближении к ней - еще три. Мне нужен последний, названный "Скачать связанные вычеты". Это код конкретного тега.
<a title="Download associated deductions" class="ajax" href="exportPaymentLineItems.lvp?requestUID=&reportType=xls&reportName=Payments and associated deductions&ajax=true&isDrillable=" target="_blank">
<span class="prgx-icon excel-icon"></span> Download associated deductions
</a>
Это код, который я имею в VBA
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
'...
IE.Document.getElementsByClassName("ajax").Click
Предыдущий в HTML-коде, первый щелчок, чтобы открыть выпадающее меню
<a class="btn btn-dots-vertical" id="dLabel" role="button" aria-expanded="true" href="#" data-toggle="dropdown" data-target="#">
</a>
<ul class="dropdown-menu multi-level dropdown-menu-right" role="menu" aria-labelledby="dropdownMenu">
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Export</a>
<ul class="dropdown-menu dropdown-menuright">
<li><a title="Excel" href="supplierReport.lvp?requestUID=&reportType=xls&reportName=BasicClaimsPaymentReport" target="_blank"><span class="prgx-icon excel-icon"></span>Excel</a></li>
<li><a title="CSV" href="supplierReport.lvp?requestUID=&reportType=csv&reportName=BasicClaimsPaymentReport" target="_blank"><span class="prgx-icon csv-icon"></span>CSV</a></li>
<li><a title="PDF" href="supplierReport.lvp?requestUID=&reportType=pdf&reportName=BasicClaimsPaymentReport" target="_blank"><span class="prgx-icon pdf-icon"></span>PDF</a></li>
'The one I need to click, download or copy to open in another explorer tab
<li>
<a title="Download associated deductions" class="ajax" href="exportPaymentLineItems.lvp?requestUID=&reportType=xls&reportName=Payments and associated deductions&ajax=true&isDrillable=" target="_blank">
<span class="prgx-icon excel-icon"></span> Download associated deductions
</a>
</li>
</ul>
</li>
</ul>
Чтобы загрузить документ, я ожидаю щелкнуть нужный класс, скопировать Href и вставить в новую вкладку проводника или просто начать загрузку с сектором запросов.
Попробуйте селектор атрибута
ie.document.querySelector("[title=Excel]").click
ie.document.querySelector("[title='Download associated deductions']").click