表单机器人提交多个javascript表单

表单机器人提交多个javascript表单,javascript,php,html,forms,Javascript,Php,Html,Forms,我在同一根url中有多个从“form1”到“form5”的表单,例如222.111.111.100/form/。在第一页,这意味着 响应http请求中的表单将按以下常规样式编写: <form name="form1" action="B.do?a=first" method="post" > <input name="sure" type="checkbox" id="sure" value="" /> <input name="submit" type="

我在同一根url中有多个从“form1”到“form5”的表单,例如222.111.111.100/form/。在第一页,这意味着

响应http请求中的表单将按以下常规样式编写:

<form name="form1" action="B.do?a=first" method="post"  > 
<input name="sure" type="checkbox" id="sure" value="" /> 
<input name="submit" type="submit" value="NextStep" /> 
</form>

我需要一张一张地自动填写表格,因为上一张表格会影响下一张表格。需要说明的是,在这个表单1之后,url将跟踪到:


问题是,当我使用
cUrl
获取内容,然后javascript处理输入复选框或提交/nextstep按钮时,每个表单的
文档.forms[0].submit()
都不起作用。即使我传递到第二个页面,似乎全局变量还没有传递到下一个页面。

我不确定我是否正确理解您的情况,但我要说的是:Javascript只是客户端,所以如果您更改页面或重新加载,js代码可用的变量将恢复到初始值


因此,如果您在服务器端拥有控制权,您可以使页面
B.do?a=first
返回(例如)json数据字符串,您的js可以使用该字符串填充下一个表单。

有很多方法可以解决您的问题,我建议您了解Selenium。Selenium允许您自动化浏览器,它主要用于自动化web应用程序以进行测试

否则将完全重新创建JavaScript调用,但这将不允许按照您的意愿使用JavaScript本身


硒:

感谢您的快速响应。selenium似乎与服务器端和客户端一起运行。与未来一样,一些数据也将自动填写并发布到表单中,因此,这一主张将不容易实现。然而,对于可重复的表单提交操作,这个selenium将是一个很好的工具。实际上,您可以使用许多高级语言扩展selenium,因此,您可以在本地运行服务器和客户端,然后用其他操作包装selenium webdriver。很乐意帮忙。