- 页面 A:存在资源“common.css”中
- 页面 B:存在资源“common.css”中
当幻影打开页面 A 和 B 时,common.css 的资源请求只有一次。
--
示例代码:
casper.on('resource.requested', function(req) {
if (req.url.indexOf('common.css') != -1) {
util.dump(req);
}
});
--
每次如何发送资源请求?
谢谢。
当幻影打开页面 A 和 B 时,common.css 的资源请求只有一次。
--
示例代码:
casper.on('resource.requested', function(req) {
if (req.url.indexOf('common.css') != -1) {
util.dump(req);
}
});
--
每次如何发送资源请求?
谢谢。
那是因为内存缓存。作为一个无头浏览器,phantomJS 有一个用于 HTTP 请求的浏览器缓存(基于 HTTP 标头)。所有页面实例都使用相同的内存缓存,这就是为什么只请求一次相同的资源。
我知道有一个请求之间清除缓存的拉取请求,但这是相当新的,至少要到 2.0(没有发布日期)才会合并。
我现在找到的唯一解决方案是为每个测试生成一个新的 phantomjs 进程(当然没有磁盘缓存)。