Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过json提取Chrome开发者工具的网络选项卡内容_Javascript_Json_Selenium Webdriver_Google Chrome Devtools - Fatal编程技术网

Javascript 如何通过json提取Chrome开发者工具的网络选项卡内容

Javascript 如何通过json提取Chrome开发者工具的网络选项卡内容,javascript,json,selenium-webdriver,google-chrome-devtools,Javascript,Json,Selenium Webdriver,Google Chrome Devtools,我正在尝试使用json通过selenium webdriver提取chrome开发者工具的网络调用,是否有其他json格式可用于提取网络大小或内容长度?您可以使用LoggingPreferences获取性能日志。它以json格式返回数据。下面是一个示例java代码。在Ubuntu 14.04上用selenium 2.53、chromedriver 2.20和Chrome50进行了测试。这应该也适用于windows DesiredCapabilities d = DesiredCapabi

我正在尝试使用json通过selenium webdriver提取chrome开发者工具的网络调用,是否有其他json格式可用于提取网络大小或内容长度?

您可以使用LoggingPreferences获取性能日志。它以json格式返回数据。下面是一个示例java代码。在Ubuntu 14.04上用selenium 2.53、chromedriver 2.20和Chrome50进行了测试。这应该也适用于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"
}

看一看:正如建议的那样,使用以下代码进行了尝试,但这些代码没有提取网络大小。如果可能,通过上述方法提取网络大小,请建议继续进行,也许这对您有更多帮助: