private async void Window_Loaded(object sender, RoutedEventArgs e) { var browser = _browserFactory.Create(WebBrowser, InfoCallback); await browser.Navigate("https://www.google.ch"); browser .Find <WebElement>(f => f.ByClassName("gLFyf gsfi")) .Click(); }
private BrowserWrapper StartBrowserSafe(TimeSpan maxIdleTime) { try { var driver = _factory.Create(); return(new BrowserWrapper(driver, maxIdleTime, _dateTimeProvider.UtcNow)); } catch (Exception ex) { _logger.LogError(ex, "Fail on create webDriver"); return(null); } }
public MovieBuilderPool() { this.browserFactory = DependencyResolver.Resolve <IBrowserFactory>(); logger = LoggerFactory.Create("MovieBuilderPool"); availableWorkers = new ConcurrentQueue <IBrowser>(); runningPages = new List <RunningPage>(); enqueuedPages = new ConcurrentQueue <Page>(); for (int i = 0; i < MaxRunningPages; i++) { availableWorkers.Enqueue(browserFactory.Create()); } }
public IBrowser Get(BrowserType browserType) { semaphore.WaitOne(); try { lock (browsers) { var browser = browsers.FirstOrDefault() ?? browserFactory.Create(browserType); browsers.Remove(browser); return(browser); } } catch (Exception) { semaphore.Release(); throw; } }