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

时间:2015-05-08 01:17:46

标签: javascript php html forms

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

http://222.111.111.100/Form/B.do?a=first

响应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>

我需要逐个填写表单,因为前一个表单会对下一个表单产生影响。并且要明确,在此form1之后,url将跟踪到:

http://222.111.111.100/Form/B.do?a=second

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

否则它将完全重新创建JavaScript调用,但这不允许使用JavaScript本身,因为显然你想要。

Selenium:http://www.seleniumhq.org/