【问题标题】:VBA Submit Button ClickingVBA提交按钮点击
【发布时间】:2015-11-24 00:21:11
【问题描述】:

我在尝试通过 VBA 在 PHP 网站上单击按钮时遇到运行时错误 '438'(对象不支持此属性或方法'),过去几个小时我一直在谷歌搜索并且找不到解决方法。

下面的这段代码做了我需要的一切,但是找不到如何点击按钮而不失败,尝试了以下:

IE.Document.getElementsByName("Calculate").Click
IE.Document.getElementsByID
IE.Document.getElementsByClassName

等都失败了。

我看到的按钮代码如下:

<button onclick="calculate();" class="btn btn-primary">Calculate</button>

因此,当使用 ByClassName 时,我使用了 btn btn-primary,而按名称,我使用了 Calculate。我现在疯了,大声笑,有什么想法吗?代码如下:

如果这很重要,请使用 IE11。

    Sub testWeb()
    Dim sht As Worksheet
    Dim IE As Object

    Dim Item As Variant
    Dim objElement As Object

    Set sht = ActiveSheet
    Set IE = CreateObject("InternetExplorer.Application")
    'Open IE
    IE.Visible = True
    IE.Navigate "http://www.doogal.co.uk/DrivingDistances.php"

    'Wait until site is loaded
    Do While IE.ReadyState <> 4 'READYSTATE_COMPLETE
        DoEvents
    Loop


    IE.Document.getElementById("startLocs").Value = "TEST"
    IE.Document.getElementById("endLocs").Value = "TEST1"
    IE.Document.getElementsByName("Calculate").Click

    IE.Document.forms(1).submit    


End Sub

【问题讨论】:

  • 您在网站上使用 VBS 是否有特定原因?因为如果不是,请不要.. 使用 javascript。 VBS 就像是没人喜欢的 JS 的邪恶小弟弟。
  • 这是一个知识差距 tbh 朋友 :),我需要 Excel 中的信息,所以我使用我所知道的信息来输入这些数据。
  • 不确定 Rob 是如何认为这是 VBS 的……您可能认为对 VBA 的多次引用会区分这一点。也许 VBA 和 VBS 对于 JS 人来说是可以互换的术语。 :) 无论如何,我 +1 以抵消 -1 以防万一它来自没有阅读的人。

标签: php vba


【解决方案1】:

您发布的代码有 2 个问题。

  1. .getElementsByName 方法返回一个元素集合。您必须弄清楚哪个项目是您要单击的元素。所以你的代码应该是这样的:

    IE.Document.getElementsByName("Calculate").Item(5).Click

  2. 如果您发布的 HTML 来自实际站点,则 &lt;BUTTON&gt; 没有 name 属性,因此它不会在 getElementsByName 返回的元素集合中。

您可能需要研究一种不同的方法来查找您的 DOM 元素。 IDK 表单上有多少个按钮,我也不知道为每个按钮分配了什么类,但也许您可以 getElementsByTagName 然后循环遍历每个 item 查看其 .class 属性,或者您可以 getElementsByClassName 并循环遍历该集合,直到找到 .type 按钮的元素。

【讨论】:

  • 轰隆隆,你是个传奇:)。这是我需要的 ByClassName 和 .Item(0).click 而不是单击。繁荣:)
猜你喜欢
  • 1970-01-01
  • 2015-12-23
  • 2016-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-28
  • 2021-09-24
  • 1970-01-01
相关资源
最近更新 更多