你如何在CasperJS中禁用css?

时间:2013-12-28 20:46:53

标签: casperjs

我知道如何禁用图片和插件,但似乎没有明显的选项来禁用CasperJS中的css。

任何人都知道这是如何运作的?

2 个答案:

答案 0 :(得分:8)

假设您要禁止加载所有外部样式表,可以通过中止加载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插件有一个选项)。

答案 1 :(得分:0)

这对我有用

//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();
    }
};

How do you Disable css in CasperJS?没有工作