自动提交表单

Posted

技术标签:

【中文标题】自动提交表单【英文标题】:Automate form Submission 【发布时间】:2009-05-13 13:53:31 【问题描述】:

如何使用 vbscript 自动提交带有随机文本值的 html 表单?

【问题讨论】:

【参考方案1】:

您可以使用“Microsoft.XMLHTTP”自动提交表单。请看下面:

Set xml = Server.CreateObject("Microsoft.XMLHTTP")

' Notice the two changes in the next two lines:
xml.Open "POST", "http://www.imdb.com/Find", False
xml.Send "select=All&for=The Usual Suspects"

wscript.echo xml.responseText

或者看看这些很棒的帖子:

http://www.4guysfromrolla.com/webtech/110100-1.2.shtml

http://www.4guysfromrolla.com/webtech/110100-1.shtml

http://support.microsoft.com/kb/290591

【讨论】:

这在 ASP 的情况下是正确的。但这不适用于从普通 (*.vbs) 文件自动提交表单。 我不明白你的意思。我展示的示例与作为 ASP 的服务器端代码无关,它可以是 CGI、php、地狱甚至 Ruby,重要的是您在表单提交期间提交服务器端代码所期望的值。您还询问了如何使用 VBScript 来完成,这是我的示例所展示的。你能修改一下你的,以强调你试图克服的问题吗? 我猜Smart Pandian的意思是Server是ASP特有的对象,在Windows Script Host中是没有的(他说他用*.vbs文件,也就是把代码作为Windows脚本运行,而不是网页脚本)。在这种情况下,应将第一条语句更改为Set xml = CreateObject("Microsoft.XMLHTTP")【参考方案2】:

您可能想要使用 Selenium (http://seleniumhq.org/) 或 Waitr (http://wtr.rubyforge.org/),因为它们可以让您更好地控制并且可以满足您的需求。

【讨论】:

【参考方案3】:
<html>
    <form action='http://127.0.0.1/file.php' method='POST' id=1>
        <input type=hidden name="var" value="val">
        <input type=submit>
    </form>
</html>
<script>
    document.getElementById(1).submit();
</script>

【讨论】:

以上是关于自动提交表单的主要内容,如果未能解决你的问题,请参考以下文章

图像上传后 JQuery 自动提交表单 - 不提交按钮

html表单 按回车不自动提交

打开浏览器,自动完成表单组件并提交

自动提交表单 (cURL)

在自动完成输入之前,Jquery自动完成提交表单

提交表单后如何自动创建客户表