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();
        }
Beispiel #2
0
 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;
     }
 }