Javascript 如何使用VBA在IE中单击超链接?

Javascript 如何使用VBA在IE中单击超链接?,javascript,vba,internet-explorer,href,Javascript,Vba,Internet Explorer,Href,我试图点击超链接下载网页上的文件。HTML显示它是javascript 在此之前,我尝试了StackOverflow的链接,并进行了四个多小时的研究,但都无济于事 这是我的代码的最新迭代 Dim l For Each l In HTMLdoc.getElementsByTagName("a") If l.innerText = "Comma Separated Value (CSV)" Then l.Click Ex

我试图点击超链接下载网页上的文件。HTML显示它是javascript

在此之前,我尝试了StackOverflow的链接,并进行了四个多小时的研究,但都无济于事

这是我的代码的最新迭代

Dim l
For Each l In HTMLdoc.getElementsByTagName("a")
    If l.innerText = "Comma Separated Value (CSV)" Then
        l.Click
        Exit For
    End If
Next l
这是我试图单击的元素的HTML

<a style="color:#0000FF" href="javascript:JTRANSUM('https://www.merchantconnect.com/CWRWeb/download.do?','CRTRNRPT','1','950******4','01-OCT-2019','03-OCT-2019','7','1216','64***','NONE','0','Z216******','4616**********','Z216******','MID','HIGHEST','CARD_TYPE','HIGHEST','CARD_NBR','HIGHEST','lb4******','N','0','8755***********','COMT');">Comma Separated Value (CSV)</a>


我想使用文本“逗号分隔值(CSV)”单击此链接。

If
之前添加
Debug.Print l.innerText
,并检查代码找到的链接。href属性字符串的任何部分(值在=)对CSV下载按钮是唯一的吗?例如,JTRANSUM?您的代码的编写方式可能会让它失败得太过优雅。它可能像输入错误的字符一样简单,因此您的条件永远不会为真。元素或循环可能位于iFrame内,因此它无法看到元素。您可以通过尝试直接与元素交互并注意错误来进一步分类问题。即时窗口和本地窗口将有助于故障排除,因此我建议在元素设置为变量的行上放置一个断点,然后按F8键一次。这里收集的信息应该让您有机会进行更深入的挖掘。我在自己的团队中进行了测试,如果我在
正文中仅使用上述
链接构建网页,那么您提供的vba代码可以很好地工作。因此,问题可能发生在代码的其他部分。您可以设置断点来调试代码。此外,是否有任何错误显示?导航后是否等待页面完全加载?托管框架将包含来自顶级窗口的单独文档-您需要先获取框架的引用,然后获取其文档,然后才能访问链接。例如,请参阅
If
前的加载项
Debug.Print l.innerText
,并检查代码找到的链接。该href属性字符串的任何部分(位于=)是否为csv下载按钮所独有?例如,JTRANSUM?您的代码的编写方式可能会让它失败得太过优雅。它可能像输入错误的字符一样简单,因此您的条件永远不会为真。元素或循环可能位于iFrame内,因此它无法看到元素。您可以通过尝试直接与元素交互并注意错误来进一步分类问题。即时窗口和本地窗口将有助于故障排除,因此我建议在元素设置为变量的行上放置一个断点,然后按F8键一次。这里收集的信息应该让您有机会进行更深入的挖掘。我在自己的团队中进行了测试,如果我在
正文中仅使用上述
链接构建网页,那么您提供的vba代码可以很好地工作。因此,问题可能发生在代码的其他部分。您可以设置断点来调试代码。此外,是否有任何错误显示?导航后是否等待页面完全加载?托管框架将包含来自顶级窗口的单独文档-您需要先获取框架的引用,然后获取其文档,然后才能访问链接。如见