/// <summary> /// Connects to the specified chrome session. /// </summary> /// <param name="serviceProvider"></param> /// <param name="sessionInfo"></param> /// <returns></returns> public static async Task <SkraprDevTools> Connect(IServiceProvider serviceProvider, ChromeSessionInfo sessionInfo) { if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (sessionInfo == null) { throw new ArgumentNullException(nameof(sessionInfo)); } var chromeSessionLogger = serviceProvider .GetService <ILoggerFactory>() .CreateLogger <ChromeSession>(); var devToolsLogger = serviceProvider .GetService <ILoggerFactory>() .CreateLogger <SkraprDevTools>(); //Create a new session using the information in the session info. var session = new ChromeSession(chromeSessionLogger, sessionInfo.WebSocketDebuggerUrl); var devTools = new SkraprDevTools(devToolsLogger, session, sessionInfo.Id); await devTools.Initialize(); return(devTools); }