【发布时间】:2012-12-21 01:29:24
【问题描述】:
这是我第一次在这里发帖。我非常感谢有关此主题的任何和所有指导。
我正在尝试制作一个程序来自动填写网络表单并提交数据,将结果页面返回给程序,以便它可以继续“浏览”页面,从而允许它递归地提交更多数据。
我遇到的主要问题是:
- “提交”按钮是用 Javascript 编码的,所以在发出页面请求时我不知道表单数据的去向。
- 我想使用 Excel 表格中的数据填写表格,因此我需要能够从页面外部访问数据。
- 我需要能够浏览结果页面才能继续提交更多数据。
更具体地说,我正在尝试首先登录Practice Mate website,导航到“管理患者”,点击“添加患者”,然后填写正确的表格并提交。
我正在从数千行长的 Excel 表格中填写表格。
抱歉,如果不提供用户名和密码,我无法更清楚地说明这一点。
我一直在尝试做的是使用 Javascript 从使用 PHP 从 Excel 文档中检索信息的页面发出页面请求。不过,我似乎仍然无法使用这种方法。
对于这方面的新手,我深表歉意。提前致谢。
【问题讨论】:
-
因为涉及到一些 Javascript,所以您无法在 PHP 中执行此操作(因为您已标记此问题)。您是否考虑将其编写为浏览器用户脚本或浏览器扩展程序?此外,他们的网站 TOS 似乎禁止屏幕抓取,因此请准备好被他们主动屏蔽。
-
为什么不能用 PHP 完成?
-
@PastorBones,告诉我如何在 PHP 中处理 HTML 中的 Javascript,我会改变我的说法。
-
听起来工作量很大。为什么不直接使用网络嗅探器来确定表单帖子如何发送到服务器并使用 cURL 自己发送呢?如果您需要来自 javascript 变量的值,您总是可以在发送表单之前解析 html 并获取它。我已经做了很多次了......
-
好的,查看登录表单。这是一个aspx页面。粗略一看,它需要一个 viewstate 值与表单数据一起传递,这些数据可以从页面中的 CDATA 中抓取。
标签: php javascript webforms automation