PhantomJS:当打开多个页面时,资源请求只有一次 A页:在现有资源“common.css”中 B页:在现有资源“common.css”中

PhantomJS:当打开多个页面时,资源请求只有一次 A页:在现有资源“common.css”中 B页:在现有资源“common.css”中,phantomjs,Phantomjs,当Phantom打开页面A和B时,对common.css的资源请求只有一次 -- 示例代码: casper.on('resource.requested', function(req) { if (req.url.indexOf('common.css') != -1) { util.dump(req); } }); -- 每次如何发送资源请求 谢谢。那是因为内存缓存。作为一个无头浏览器,phantomJS有一个用于HTTP请求的浏览器缓存(基于HTTP头)。所

当Phantom打开页面A和B时,对common.css的资源请求只有一次

--

示例代码:

casper.on('resource.requested', function(req) {
    if (req.url.indexOf('common.css') != -1) {
        util.dump(req);
    }
});
--

每次如何发送资源请求


谢谢。

那是因为内存缓存。作为一个无头浏览器,phantomJS有一个用于HTTP请求的浏览器缓存(基于HTTP头)。所有页面实例都使用相同的内存缓存,这就是为什么只请求一次相同的ressource

我知道在请求之间有清除缓存的方法,但这是一个非常新的方法,至少要到2.0(没有发布日期)才能合并


我现在找到的唯一解决方案是为每个测试生成一个新的phantomjs进程(当然没有磁盘缓存)。

这是因为内存缓存。作为一个无头浏览器,phantomJS有一个用于HTTP请求的浏览器缓存(基于HTTP头)。所有页面实例都使用相同的内存缓存,这就是为什么只请求一次相同的ressource

我知道在请求之间有清除缓存的方法,但这是一个非常新的方法,至少要到2.0(没有发布日期)才能合并


我现在找到的唯一解决方案是为每个测试生成一个新的phantomjs进程(当然没有磁盘缓存)。

我理解。非常感谢!我理解。非常感谢!