2017-10-31 7 views
0

나는 주어진 페이지에 & 사용하지 않은 CSS를 사용하는 간단한 자바 클래스를 만드는 중입니다.Chrome Dev 프로토콜을 사용하여 CSS Coverage 데이터를 가져 오는 방법은 무엇입니까?

public class coverage { 

    static String str; 

    public static void main(String[] args) throws JSONException { 

     String url = "https://www.amazon.com"; 
     Launcher launcher = new Launcher(); 
     try (SessionFactory factory = launcher.launch(); 
       Session session = factory.create()) { 
      Command command = session.getCommand(); 
      DOM dom = command.getDOM(); 
      CSS css = command.getCSS(); 
      session.navigate(url); 
      dom.enable(); 
      css.enable(); 
      HashMap<String, List<String>> hm = new HashMap<String, List<String>>(); 
      HashMap<String, String> hmUsedCSS = new HashMap<String, String>(); 
      css.startRuleUsageTracking(); 
      List<RuleUsage> list = css.stopRuleUsageTracking(); 
      for (RuleUsage coverage : list) { 
       if (!hm.containsKey(coverage.getStyleSheetId())) { 
        hm.put(coverage.getStyleSheetId(),        
        css.collectClassNames(coverage.getStyleSheetId())); 
       } 
       if (!coverage.isUsed()) { 
        String existingContent = hmUsedCSS.get(coverage 
          .getStyleSheetId()); 
        String extraContent = css.getStyleSheetText(coverage 
          .getStyleSheetId()); 
        hmUsedCSS.put(coverage.getStyleSheetId(), 
          existingContent == null ? extraContent 
            : existingContent + extraContent); 
       } 
      } 

      for (String name : hm.keySet()) { 
       List<String> value = hm.get(name); 
       System.out.println("Total " + name + "=>" + value); 

      } 

      for (String name : hmUsedCSS.keySet()) { 
       List<String> value = hm.get(name); 
       System.out.println("Used CSS " + name + "=>" + value); 

      } 
     } 
    } 

} 

공식 documentation 당으로, 'stopRuleUsageTracking은'특정 CSS가 RuleUsage에서 '사용'부울을 설정하여 사용 여부되고 있는지 여부를 알려 것이다지만 사용 '에 해당 페이지에서 제공하는 모든 CSS를 반환 'true로 설정합니다. 우리는 사용 된 CSS의 위치를 ​​알려주므로 beginoffset & endoffset 값에 해답이 있다는 것을 알아 냈습니다. 그러나이 값을 의미있는 결과로 변환하는 방법을 모르겠습니다. 사용되지 않은 CSS는 사용하지 않았습니까? 누군가 나를 도와 줄 수 있습니까? 내가 질문에서 지적한 바와 같이

답변

0

는, 키는 values.I이 같은 &을 할 수있는 논리를 작성 할 수 있었다 오프셋 시작 & 말에 따라 적용 데이터를 가져 오는 것이었다 사용 &하지 않는 CSS의 필요한 목록을 얻었다.

관련 문제