2014-12-10 1 views
0

CasperJS에서 스타일 시트 목록을 얻으려면 어떻게해야합니까? Chrome에서 'document.styleSheets'가 반환하는 것을 원합니다.CasperJS에서 스타일 시트 목록을 얻으려면 어떻게해야합니까?

예 :

StyleSheetList {0: CSSStyleSheet, 1: CSSStyleSheet, 2: CSSStyleSheet,3: CSSStyleSheet, 4: CSSStyleSheet, 5: CSSStyleSheet, 6: CSSStyleSheet, 7: CSSStyleSheet, 8: CSSStyleSheet, 9: CSSStyleSheet, 10: CSSStyleSheet, 11: CSSStyleSheet, 12: CSSStyleSheet, length: 13, item: function} 
+0

그리고'document.stylesheets'는 페이지 컨텍스트에서 무엇을 반환합니까? –

+0

@ ArtjomB.thanks, 오타를 바로 잡았습니다. – deepng

+0

그리고 무엇이 문제입니까? –

답변

0

당신은 같은 방법으로 스타일 시트에 액세스, 당신은 크롬에서 액세스,하지만 당신이 그것을하기 전에, 당신은 페이지 문맥에서 그것을 얻을해야합니다.

var css = casper.evaluate(function(){ 
    return document.styleSheets; 
}); 
casper.echo(css[0].href); // href of first stylesheet 
+0

B, 감사합니다. 이 작동하지만 배열에있는 개체의 일부 Null 것입니다. 오류가 발생했습니다. TypeError : 'null'은 ('css [i] .href'를 평가하는) 객체가 아닙니다. Chrome Inspector에서 href가 포함 된 10 개의 styleSheets가 표시되면 null이 하나가됩니다. 이 코드 조각의 styleSheet. 왜 그런가요? – deepng

+0

사용하기 전에'css.length> i '를 확인하십시오. PhantomJS에서 열 때 Chrome에 비해 페이지가 다를 수 있습니다. 이렇게해도 해결되지 않으면 페이지 컨텍스트에서 원하는 특성을 직접 검색하십시오. –