【问题标题】:Clicking Submit button on a web page with VBA使用 VBA 在网页上单击提交按钮
【发布时间】:2016-03-13 11:46:05
【问题描述】:

我使用的是 IE 版本 9,并尝试使用 VBA 点击“提交”按钮。我尝试了很多方法,但都没有成功。

有人可以帮忙吗?下面是按钮的元素代码。请注意,“on click”在实际代码中没有空格。

按钮代码:

<input type = submit value = " Submit " on click= "return submitDWAC(this.form)">

我已经在下面尝试过,但它们不起作用。

.Document.getelementbytagname("Submit").Click   

.Document.all("Submit").click

Sendkey {ENTER}, TRUE 

请帮忙.....

【问题讨论】:

    标签: vba excel web automation


    【解决方案1】:

    标签名称是 &lt;input 而不是 submit,但更简单的方法是使用 form.submit() 方法:

    .document.forms(0).submit
    

    如果页面上只有一个表单,那么这应该可以解决问题,否则您将需要枚举表单对象并测试每个对象以查看要提交的对象。

    【讨论】:

    • 所以我有两个按钮。一个是提交,另一个是重置我正在输入他们的代码。如果您能看一看并提出建议,那就太好了。 &lt;input type = submit value = " Submit " onClick = "return submitDWAC(this.form)"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input type="reset" value=" Reset "&gt;
    • 我只是看了一下并提出了建议 - 忘记按钮,而是以表单为目标并调用更简单、更快捷的 .submit 方法。
    • 这毫无意义,我不知道你在问什么。只需将您所拥有的内容替换为我在回答中提供的内容即可。
    • 我会在早上用下面的代码试一试.document.forms(0).submit
    【解决方案2】:

    对于初学者.getelementbytagname 不存在所以这个:

    .Document.getelementbytagname("Submit").Click   
    

    会失败。方法是.getElementsByTagName。元素后面有"s",表示返回的是一个元素集合。

    您显示的 HTML 是另一个答案中提到的 input 标记。提交表单是一个好方法,或者您可以使用 CSS 选择器定位 input 标记及其 type 属性,然后使用:

    .document.querySelector("input[type=submit]").Click
    

    【讨论】:

      猜你喜欢
      • 2021-12-16
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多