我编写了一个从firefox浏览器中获取har数据的类。
我想以JSON格式获取har数据以便正确显示。
我的代码:
ProxyServer server = new ProxyServer(4444);
server.start();
//captures the moouse movements and navigations
server.setCaptureHeaders(true);
server.setCaptureContent(true);
// get the Selenium proxy object
Proxy proxy = server.seleniumProxy();
// configure it as a desired capability
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
// start the browser up
WebDriver driver = new FirefoxDriver(capabilities);
// create a new HAR with the label "apple.com"
server.newHar("yahoo.com");
// open yahoo.com
driver.get("http://yahoo.com");
// get the HAR data
net.lightbody.bmp.core.har.Har har = server.getHar();
任何人都可以帮助我以JSON格式和字符串获取HAR数据!
答案 0 :(得分:1)
对不起,迟到了。
希望它可以帮助其他人。
您可以使用StringWriter将Har写入String。所以你可以把har作为字符串。并且,您可以使用Gson解析该字符串以获取JSON对象。
net.lightbody.bmp.core.har.Har har = server.getHar();
java.io.StringWriter writer = new java.io.StringWriter();
try {
har.writeTo(writer);
} catch (IOException e) {
e.printStackTrace();
}
String harAsString = writer.toString();
com.google.gson.JsonElement harAsJson = new com.google.gson.Gson().toJsonTree(writer.toString());