【问题标题】:VBA - How can I click the link ( No name/Id/Class )VBA - 我如何点击链接(无名称/ID/类)
【发布时间】:2016-06-28 14:46:14
【问题描述】:

我正在尝试单击网页上的下载和图形链接,但似乎无法正常工作。

到目前为止,我使用的所有东西似乎都有一个 ID/Name/Class 可以很好地与 getElementById/Name 调用配合使用,但是通过这个链接,我似乎找不到任何可以引用它并单击的东西。请帮帮我!

代码:

<.a href="#" onclick="spr_command('plot_graph'); return false;">Graph</a>
<.a href="#" onclick="spr_command('download'); return false;">Download</a>

【问题讨论】:

  • 你需要执行JS。试试这个:stackoverflow.com/questions/3247391/…
  • 非常感谢!它运作良好。你让我开心。
  • @cyboashu 我应该如何编写脚本来执行以下方法code &lt;a onclick="var dl_var = find_control('download'); dl_var.value = '1'; submitFormByPost(dl_var.form); dl_var.value = ''; return false;" href="#"&gt;
  • 我试过code Dim CurrentWindow As HTMLWindowProxy Set CurrentWindow = ie.Document.parentWindow Call CurrentWindow.execScript("var dl_var = find_control('download')") 但它不起作用

标签: html vba browser


【解决方案1】:

感谢cyboashu的评论!

效果很好!

解决办法是:

Dim CurrentWindow As HTMLWindowProxy 
Set CurrentWindow = ie.Document.parentWindow
Call CurrentWindow.execScript("spr_command('plot_graph')")

【讨论】:

    【解决方案2】:

    你试过getElementsByTagName("a")吗?和FireEvent('OnClick')

    【讨论】:

    • 你的意思是:Set Element = .document.getElementsTagName("spr_command('plot_graph')")(0) Element.FireEvent ("onclick")
    • 不,document.getElementsByTagName("a"),然后您需要查看它们的 innerText/innerHTML 是否为“下载” spr_command 是单击时调用的函数
    • 感谢您的合作!我找到了解决方案。
    【解决方案3】:

    一个简单的javascript就可以了。

    window.spr_command = function(action){
       alert(action);
    }
    <a href="#" onclick="spr_command('plot_graph'); return false;">Graph <br />
    
    <a href="#" onclick="spr_command('download'); return false;">Download

    【讨论】:

    • VBA应该怎么写?
    猜你喜欢
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2015-04-20
    相关资源
    最近更新 更多