自动提交表单
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>
【讨论】:
以上是关于自动提交表单的主要内容,如果未能解决你的问题,请参考以下文章