2012-04-11 12 views
3

node.js(基本的に)を使用してページをスクラップしてから、結果をjQuerifyしていくつかの要素のCSS値にアクセスします。しかし何らかの理由で.css( "something")は常に空の値を返します。例えば。しかし、.text()はうまくいきます。何かヒント? CSSにアクセスするには、まずスクラップしたページを出力する必要がありますか?node.jsで削ったときにjQueryでCSS値にアクセスする

var request = require('request'); 
var jsdom = require('jsdom'); 

var req_url = 'URL'; 

request({uri: req_url}, function(error, response, html){ 
    if(!error && response.statusCode == 200){ 
     var window = jsdom.jsdom(html).createWindow(); 
     jsdom.jQueryify(window, 'http://code.jquery.com/jquery-1.4.2.min.js', function() { 
      var bg = window.$("#ID").css("color"); 
      console.log(bg); 
     }); 
    } 
}); 

答えて

0

私は、.css()が指定された要素のインラインCSSのみを返すと考えています。

残念ながら、あなたがやっていることは、アクティブなブラウザがなければやりにくいことです。

あなたはPhantomJSを調べるべきです - それはnode.jsと簡単に結合し、javascriptを挿入できるヘッドレスWebkitとして機能します。

+0

インラインCSSも読み込むことはできないと思います。しかし、phanom.jsは非常によく見え、タスクに適しています。ありがとう。 – coski3003

関連する問題