在运行phantomjs casperjs时进行手动输入

5

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

例如,脚本将填写表格并将整个屏幕导出为.png文件,然后等待用户输入以填写最后一个字段,然后再点击提交。验证码是其中一个需要的障碍。我不想处理验证码破解/解决器或任何类似的东西,因为每次运行只需要一次。

有什么帮助吗?

1个回答

3

我从未尝试过,但是我知道你编写的在浏览器/幻影中执行的脚本可以向某个本地Web服务器发送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.

这个工作流可以使用从phantom/casper可能出现的任何外部通信方式来完成(我只是不熟悉它们)。我确信ajax可以工作,所以我用它举例。


2
我的临时解决方案是使用FileSystem读取文件内容以获取验证码字符串。但我尝试找出是否有更好的方法来做这件事。Ajax对我来说似乎过度了。 - HP.
1
嘿@HP。我和你处于相同的情况。你能否提供更多关于FileSystem解决方法的信息给我?你找到更好的实现方式了吗?谢谢。 - vlad_o
1
使用FS是一种非常丑陋的hack。我不建议这样做。基本上,我使用某种计时器setTimeout在读取文件之前等待一段时间。因此,在那20秒左右的时间内,我会快速编辑文本文件以提供输入。 - HP.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接