【问题标题】:Form robot to submit multiple javascript form表单机器人提交多个javascript表单
【发布时间】:2015-05-08 01:17:45
【问题描述】:

我在同一个根 url 中有多个名为“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 时,每个表单的document.forms[0].submit() 不起作用。即使我传到了第二页,似乎全局变量还没有传到下一页。

【问题讨论】:

    标签: javascript php html forms


    【解决方案1】:

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

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

    硒:http://www.seleniumhq.org/

    【讨论】:

    • 感谢您的快速响应。硒似乎与服务器端和客户端一起运行。和以后一样,一些数据也会自动填写并发布到表格中,所以,这个提议不会轻易实现。而对于可重复的表单提交操作,这个 selenium 将是一个很好的工具。
    • 实际上,您可以使用许多高级语言扩展 Selenium,因此,您可以在本地运行服务器和客户端,然后使用其他操作包装 Selenium webdriver。很高兴能提供帮助。
    【解决方案2】:

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

    所以如果你在服务器端有控制权,你可以让页面B.do?a=first返回(例如)一个json数据字符串,你的js可以用它来填写下一个表单。

    【讨论】:

      猜你喜欢
      • 2013-02-25
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 2014-10-14
      相关资源
      最近更新 更多