VBA-通过锚点在带有隐藏按钮的html中单击“下载”

时间:2018-06-27 15:53:41

标签: html excel vba excel-vba

我是这个网站的新手,并且刚刚开始我的HTML之旅。我希望我可以向社区提供尽可能多的,隐藏的答案!

我目前正在使用VBA在IE上自动化一些导航。除以下内容外,所有内容均已按计划进行:

有一个我要点击的“按钮” ...这是HTML:

<a class="alignLeft nowrap" href="/assistant/newRunReport?parameterId=de9498-1643e6f7969-5tv0">Download</a>

过去,我只是使用href直接导航到页面。但是,此特定请求会在浏览器中返回错误页面,因此似乎不是一个选择。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

您要访问哪个链接?它是项目中包含的文件夹,还是来自外部服务器的文件夹? 据我了解,您正在尝试访问“助手”文件夹吗? “助手”(/助手)之前的“ /”可能会影响位置,因为它表示另一个文件夹中的条目。

尝试文件夹是否在项目中,并且不带前一个“ /”:

“ assistant / newRunReport?parameterId = de9498-1643e6f7969-5tv0”

答案 1 :(得分:0)

您是否还尝试过a[href='/assistant/newRunReport?parameterId=de9498-1643e6f7969-5tv0']的CSS选择器

将会是

.document.querySelector("a[href='/assistant/newRunReport?parameterId=de9498-1643e6f7969-5tv0']").Click

如果失败,请尝试:

.document.querySelector(".alignLeft.nowrap").Click or

.document.querySelector("a.alignLeft.nowrap")

.querySelectordocument应用CSS selector的方法。您可以通过样式选择元素。

例如,

a.alignLeft.nowrapa标记,其className为alignLeft nowrap"."表示className。使用.querySelector时不允许使用复合名称,因此您在要获得a.alignLeft.nowrap的空格处添加另一个点。

.querySelector返回单个匹配项,即第一个。 .querySelectorAll将返回所有匹配元素的nodeList,然后您遍历.Length以按索引获取单个项目。