我需要在第 3 方网站上自动填写多个表单。该网站是用 JavaScript 编写的;协议(protocol)是 HTTPS。我看到了 3 种方法来实现这一目标。
- 将鼠标点击和按键操作发送到浏览器。
- 使用套接字拦截从浏览器发送到服务器的所有数据(包括填写的表单);弄清楚格式;在不使用浏览器的情况下复制与服务器的通信。
- 使用自定义浏览器类。
有什么意见,例子吗?例如,#3 我应该尝试什么类(class)?
除了基本的 HTML,我没有任何 Web 编程经验。我确实拥有丰富的 C++ (MFC)、Java 和 VB(Excel 宏)经验。
谢谢!
更新/澄清。目前,我的同事必须去一个站点,输入他的姓名/密码,单击一个链接——复制粘贴——提交——重复 9000 多次。相反,我们希望能够填写 Excel 电子表格并单击一个按钮来填写网站上的所有表格。
更新#2。 HTTPS 的问题是“您无法嗅探数据,这是复制它的最简单方法”——这是共识吗?那么即使使用 cURL,也很难正确地形成服务器请求。我无法测试那么多:这几乎是实时数据,以后很难更正它。
那么,PhantomJS、Selenium……WatiN 呢?再次感谢您的想法!
最佳答案
单方面执行此操作(在网站所有者不知情的情况下)可能会在网站更新时中断(因为网站所有者保留进行他们想要的任何更改的权利。)除此之外,您可能违反了网站的条款服务。
您最好联系网站所有者,让他们告诉您应该如何自动将表单数据发送到网站。如果他们为您提供 API,您应该对 API 的稳定性有一定的信心。
关于c++ - 自动填写 Web 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17950920/