使用deathbycaptcha与phantomjs而不会中断会话

时间:2015-09-02 22:21:24

标签: javascript testing phantomjs captcha headless-browser

考虑到PhantomJS并不完全是node.js(因此deathbycaptcha2之类的模块)在使用本机请求时已经出局,是否可以简单地打开另一个webpage实例并使用它将POST请求发送到验证码API而不影响其他页面实例?

这个新的page.open()会保留第一页收集的Cookie吗?

1 个答案:

答案 0 :(得分:1)

  

这个新的page.open()会保留第一页收集的Cookie吗?

是的,每个PhantomJS进程只有一个CookieJar。因此,您创建的每个page共享相同的cookie。将这些page实例视为传统浏览器中的窗口或标签。

  

[我]可以简单地打开另一个网页实例并使用它将POST请求发送到验证码API而不影响其他页面实例吗?

这不是那么容易,因为cookie是共享的。如果您不访问相同的页面,则可以安全地创建第二个实例。如果您想在第二个实例中访问同一页面,那么您可以通过child_process module(例如execFile)启动第二个PhantomJS流程。

  

考虑到PhantomJS并不完全是node.js [...]

是的,但是PhantomJS和node.js之间有几个桥梁,例如phantomnode-phantomnightmare等。您可以使用它们与PhantomJS连接并另外调用节点你想要的模块。

相关问题