【问题标题】:Trying to click submit button which as image as button vba尝试单击提交按钮,该按钮作为按钮 vba 的图像
【发布时间】:2015-01-26 18:06:31
【问题描述】:

我一直在尝试使用 JavaScript 单击网页上的输入按钮。我尝试了以下方法:

HTML

<input type="image" src="/img/go_button.gif">

VBA

 ' Not working 
el.click

 ' Not working

el.focus 
el.invokemember("OnClick")

JavaScript

function toggleMenu(obj, title)
{
    var internalMenu = obj.parentNode.getElementsByTagName("div").item(0);
    var d = internalMenu.style.display;
    if (d != "block") {
        internalMenu.style.display = "block";
        obj.innerHTML =
            '<IMG SRC="/images/menu-arrow-open.gif"'
            + ' border=0>&nbsp;' + title;
    } else {
        internalMenu.style.display = "none";
        obj.innerHTML =
            '<IMG SRC="/images/menu-arrow.gif" ' +
            'border=0>&nbsp;' + title;
    }
}

我一直在谷歌上搜索,但我还没有找到任何解决方案。我看到了一个名为ie.Document.parentWindow.execScript的方法,但我不知道如何使用它。 p>

是否可以单击该图像按钮并获取我想要的任何结果?

【问题讨论】:

  • 按钮在没有图像的情况下可以工作吗?
  • 在这种情况下,Excel 的哪个部分?如果 VBA 在 Excel 中运行,您如何获得el?你确定你有正确的元素吗? 是 FORM 的提交按钮吗?如果是这样,为什么不简单地提交表格?
  • 我确定..我能够循环浏览网页中的每个输入元素。我确实检查了那个按钮的元素。我在我的问题中粘贴了 html 内容

标签: jquery html excel vba web-scraping


【解决方案1】:

CSS 选择器

不需要循环。使用 CSS 选择器:

input[src='/img/go_button.gif']

这指定input 标记,其属性src 具有值'/img/go_button.gif'


CSS 查询:


VBA:

您使用 .querySelector 文档方法应用 CSS 选择器

ie.document.querySelector("input[src='/img/go_button.gif']").Click

【讨论】:

    【解决方案2】:

    这就是我会做的:

    A.获取页面中的所有输入元素:

    Set allInputs = ie.document.getElementsByTagName("input")
    

    B.循环浏览它们并单击引用图像“go”的那个:

    For Each element In allInputs
        If element.getAttribute("src") = "/img/go_button.gif" Then
            element.Click
            Exit For
        End If
    Next element
    

    【讨论】:

    • 感谢您的代码。但它没有用。我已经尝试过这种方法。但是没有运气..代码只是通过了那一行(el.click):(
    【解决方案3】:

    $('input[type="image"]').trigger('click');

    应该这样做

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      相关资源
      最近更新 更多