我正在尝试使用json通过selenium webdriver提取chrome开发人员工具的网络调用,是否有任何其他json格式可用于提取网络大小或内容长度?
答案 0 :(得分:3)
您可以使用LoggingPreferences获取性能日志。它以json格式返回数据。这是一个示例Java代码。使用硒2.53,chromedriver 2.20,Ubuntu 14.04上的Chrome 50进行测试。这也适用于Windows。
DesiredCapabilities d = DesiredCapabilities.chrome();
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
d.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
WebDriver driver = new ChromeDriver(d);
driver.get("http://www.google.com");
LogEntries les = driver.manage().logs().get(LogType.PERFORMANCE);
for (LogEntry le : les) {
System.out.println(le.getMessage());
}
这是一个示例输出。它是手动格式化的。实际的输出是一行。
{
"message": {
"method": "Network.requestWillBeSent",
"params": {
"documentURL": "https://www.google.co.in/?gfe_rd=cr&ei=gpwxV4OSKMmR2ASEg6-YCg&gws_rd=ssl",
"frameId": "31172.2",
"initiator": {
"stack": {
"callFrames": [
{
"columnNumber": 11511,
"functionName": "",
"lineNumber": 55,
"scriptId": "50",
"url": "https://www.google.co.in/?gfe_rd=cr&ei=gpwxV4OSKMmR2ASEg6-YCg&gws_rd=ssl"
}
]
},
"type": "script"
},
"loaderId": "31172.3",
"request": {
"headers": {
"Accept": "*/*",
"Referer": "https://www.google.co.in/",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36"
},
"initialPriority": "Low",
"method": "GET",
"mixedContentType": "none",
"url": "https://www.google.co.in/xjs/_/js/k=xjs.s.en.VTDhrkH4c9U.O/m=sx,c,sb,cdos,cr,elog,jsa,r,hsm,qsm,j,p,d,csi/am=AJQ0CwoS8fchIGwhrCA1YGBR/rt=j/d=1/t=zcms/rs=ACT90oGi2YIjVL5cBzOc1-MD37a1NqZ1jA"
},
"requestId": "31172.3",
"timestamp": 251208.074288,
"type": "Other",
"wallTime": 1462869123.92204
}
},
"webview": "8AF4A466-8027-4340-B9E9-CFEBDA769C50"
}