【问题标题】:How do you Disable css in CasperJS?你如何在 CasperJS 中禁用 css?
【发布时间】:2016-05-14 20:55:12
【问题描述】:

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

有人知道它是如何工作的吗?

【问题讨论】:

    标签: casperjs


    【解决方案1】:

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

    【讨论】:

    • 感谢您的帮助,达伦!非常感谢。
    • 如果要匹配 https 或 http,对正则表达式稍作修正,我们需要对 .css 中的文字点字符进行转义:http(s)?\:\/\/.+?\。 CSS
    【解决方案2】:

    这对我有用

    //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? 没用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      • 2015-06-21
      • 1970-01-01
      相关资源
      最近更新 更多