Ejemplo n.º 1
0
        /// <summary>
        /// Retrieves the javascript protocol pdl for the specified chrome version.
        /// </summary>
        public static async Task <string> GetJavaScriptProtocolForChromeVersion(ChromeVersion chromeVersion)
        {
            var jsProtocolUrl = $"https://chromium.googlesource.com/v8/v8/+/{chromeVersion.V8VersionNumber}/src/inspector/js_protocol.pdl?format=TEXT";

            using (var jsProtocolClient = new HttpClient())
            {
                var jsProtocol64 = await jsProtocolClient.GetStringAsync(jsProtocolUrl);

                return(Encoding.UTF8.GetString(Convert.FromBase64String(jsProtocol64)));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Retrieves the python script that converts a pdl into json for the specified chrome version.
        /// </summary>
        /// <param name="chromeVersion"></param>
        /// <returns></returns>
        public static async Task <string> GetInspectorProtocolConverterPythonScript(ChromeVersion chromeVersion)
        {
            var protocolScriptUrl = $"https://chromium.googlesource.com/chromium/src/+/{chromeVersion.WebKitVersionHash}/third_party/inspector_protocol/pdl.py?format=TEXT";

            using (var jsProtocolClient = new HttpClient())
            {
                var script64 = await jsProtocolClient.GetStringAsync(protocolScriptUrl);

                return(Encoding.UTF8.GetString(Convert.FromBase64String(script64)));
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Retrieves the browser protocol pdl for the specified chrome version.
        /// </summary>
        /// <remarks>
        /// Um, yeah. See https://github.com/cyrus-and/chrome-remote-interface/issues/10#issuecomment-146032907
        /// </remarks>
        /// <returns></returns>
        public static async Task <string> GetBrowserProtocolForChromeVersion(ChromeVersion chromeVersion)
        {
            var browserProtocolUrl = $"https://chromium.googlesource.com/chromium/src/+/{chromeVersion.WebKitVersionHash}/third_party/blink/renderer/core/inspector/browser_protocol.pdl?format=TEXT";

            using (var browserProtocolClient = new HttpClient())
            {
                var browserProtocol64 = await browserProtocolClient.GetStringAsync(browserProtocolUrl);

                return(Encoding.UTF8.GetString(Convert.FromBase64String(browserProtocol64)));
            }
        }