0
私は与えられたページで&未使用のcssを使用する簡単なJavaクラスの作成に取り組んでいます。chrome devプロトコルを使用してCSSカバレッジデータを取得するにはどうすればよいですか?
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を1として、「stopRuleUsageTrackingは」特定のCSSがRuleUsageで「使用」ブール値を設定することで、使用されているか否かを教えますが、それは使用」でページ上で利用可能なすべてのCSSを返します私が使用したCSSの位置を教えてくれるので、答えがstartoffset &のendoffset値にあることが分かりました。しかし、これらの値を意味のある結果に変換する方法はわかりません。&未使用CSS?誰かがここで私を助けることができますか?私は質問で指摘したよう