2012-11-24 80 views
5

在進入下一步之前是否可以使腳本(phantomjs或casperjs)在手動人體輸入(鍵盤輸入)處停止?運行phantomjs casperjs時手動輸入

例如,腳本將填寫表格並導出整個屏幕,然後巴紐等待用戶輸入填補最後一個字段之前點擊提交。驗證碼是這個要求的障礙之一。我不想處理Captcha斷路器/求解器或類似的東西,因爲它只是每次運行一次。

任何幫助?

回答

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. 

這個工作流程可以使用任何一種幻象,從/卡斯帕可能的外部溝通來完成(我只是不熟悉它們)。我相信阿賈克斯的作品,所以我用它作爲例子。

+2

我現在的解決方法是使用文件系統和讀取驗證碼字符串文件內容。但我試圖找出是否有更好的方法來做到這一點。阿賈克斯似乎對我有點矯枉過正。 –

+1

hey @HP。我和你的情況一樣。您能否爲我提供有關FileSystem解決方案的更多信息?您是否找到了更好的方法來實現此目標?謝謝 –

+1

使用FS是一個非常醜陋的黑客。我不會推薦。基本上我使用某種計時器'setTimeout'在讀取文件之前等待一會兒。因此,在20秒左右的時間內,我快速編輯文本文件以提供輸入。 –