我正在编写用于从网站下载信息的代码。我的问题包括使用子菜单下拉菜单访问Href。我尝试了很多代码,但是其中任何一个都可以。
使用getElementById或getElementsByClassName的引用不起作用,因为该对象不支持功能聚焦,单击,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并粘贴到新的资源管理器选项卡中,或者仅通过查询扇区开始下载。
答案 0 :(得分:0)
尝试使用属性选择器
ie.document.querySelector("[title=Excel]").click
ie.document.querySelector("[title='Download associated deductions']").click
您的行:
IE.Document.getElementsByClassName("ajax").Click
仅因为该方法返回一个集合就行不通。您将需要一个索引,例如
IE.Document.getElementsByClassName("ajax")(0).Click
querySelector返回单个节点。在“”
之间传递给它的css选择器的第一个匹配项