考虑到PhantomJS并不完全是node.js(因此deathbycaptcha2之类的模块)在使用本机请求时已经出局,是否可以简单地打开另一个webpage
实例并使用它将POST请求发送到验证码API而不影响其他页面实例?
这个新的page.open()
会保留第一页收集的Cookie吗?
答案 0 :(得分:1)
这个新的
page.open()
会保留第一页收集的Cookie吗?
是的,每个PhantomJS进程只有一个CookieJar。因此,您创建的每个page
共享相同的cookie。将这些page
实例视为传统浏览器中的窗口或标签。
[我]可以简单地打开另一个网页实例并使用它将POST请求发送到验证码API而不影响其他页面实例吗?
这不是那么容易,因为cookie是共享的。如果您不访问相同的页面,则可以安全地创建第二个实例。如果您想在第二个实例中访问同一页面,那么您可以通过child_process
module(例如execFile
)启动第二个PhantomJS流程。
考虑到PhantomJS并不完全是node.js [...]
是的,但是PhantomJS和node.js之间有几个桥梁,例如phantom,node-phantom,nightmare等。您可以使用它们与PhantomJS连接并另外调用节点你想要的模块。