【发布时间】:2016-05-14 20:55:12
【问题描述】:
我知道如何禁用图像和插件,但似乎没有在 CasperJS 中禁用 css 的明显选项。
有人知道它是如何工作的吗?
【问题讨论】:
标签: casperjs
我知道如何禁用图像和插件,但似乎没有在 CasperJS 中禁用 css 的明显选项。
有人知道它是如何工作的吗?
【问题讨论】:
标签: casperjs
假设您想禁止加载所有外部样式表,您可以通过中止加载 css 文件的请求来实现,这是通过将函数分配给 options.onResourceRequested 来完成的:
var casper = require('casper').create();
casper.options.onResourceRequested = function(C, requestData, request) {
if ((/https?:\/\/.+?\.css/gi).test(requestData['url']) || requestData['Content-Type'] == 'text/css') {
console.log('Skipping CSS file: ' + requestData['url']);
request.abort();
}
}
为了避免使用内联样式表,我唯一的想法是在页面加载后使用一些 JavaScript 来删除所有样式。
如果您将 SlimerJS 与 CasperJS 一起使用,那么几乎可以肯定 Gecko 引擎中有一个选项可以禁用 CSS(基于 Web Developer 插件有一个选项的事实)。
【讨论】:
这对我有用
//filter css
casper.options.onResourceRequested = function(C, requestData, request) {
var accept = requestData.headers[0];
if ( accept.value.indexOf('text/css') !== -1 ) {
console.log('Skipping CSS file: ' + requestData.url);
request.abort();
}
};
【讨论】: