chi*_*nko 2 javascript login session-cookies casperjs
我想要做的是声明两个casper,两个将登录到某个站点,一个将充当管理员,另一个将充当典型用户.我想在一个脚本中完成它.
是否可以在单个脚本中声明两个或更多casper?就像这个:
var casper1 = require("casper").create({
verbose: true, timeout: null
});
var casper2 = require("casper").create({
verbose: true, timeout: null
});
Run Code Online (Sandbox Code Playgroud)
这在很大程度上取决于网站如何处理会话.如果这是通过每个请求中的唯一ID作为请求参数完成的,那么这是可能的.但是一旦使用cookie,这是不可能的.
CasperJS就像一个浏览器.您可以拥有多个选项卡(casper实例),但会话由浏览器(PhantomJS)处理.即使您有多个casper实例,它们也会使用相同的Cookie,因此您无法同时以用户身份和管理员身份登录.这是因为PhantomJS处理cookie,即使你有多个casper实例,下面只有一个phantomjs进程.
如果管理界面在另一个域上,则此多个casper实例应该有效.经验法则是,如果您可以在具有多个选项卡的单个浏览器窗口中登录,则可以使用多个casper实例进行登录.
因此,如果它们位于同一个域并且使用了cookie,则需要使用不同的脚本执行此操作.
您可能感兴趣的其他问题: