运行phantomjs casperjs时手动输入

HP.*_*HP. 5 javascript automated-tests web-scraping phantomjs casperjs

在进入下一步之前,是否可以使脚本(phantomjs或casperjs)停止进行手动人工输入(键盘输入)?

例如,脚本将填写表单并将整个屏幕导出为.png,然后在单击提交之前等待用户输入填写最后一个字段.验证码是此要求的障碍之一.我不想处理Captcha破坏者/解算器或类似的事情,因为每次运行只有一次.

有帮助吗?

goa*_*oat 3

我从来没有这样做过,但是,我知道您编写的在浏览器/幻像中执行的脚本可以向某个本地网络服务器发送 ajax 请求。这是你的外部通讯。

->screenshot 
->send to local server
->someones open web browser polls the server for new data entry jobs
->human submits one
->server receives submission
->server routes the response back to that initial ajax request
->that ajax request that got sent from phantomjs finally receives a response.
Run Code Online (Sandbox Code Playgroud)

这个工作流程可以使用 phantom/casper 可能的任何类型的外部通信来完成(我只是不熟悉它们)。我确信 ajax 可以工作,所以我用它作为例子。

  • 我现在的解决方法是使用 FileSystem 并读取验证码字符串的文件内容。但我试图找出是否有更好的方法来做到这一点。Ajax 对我来说似乎太过分了。 (2认同)