private static void UpdateLicitacoes() { try { /*Inicia navegador fantasma para atualização de licitações*/ if (web != null) { web.Quit(); } var driver = ChromeDriverService.CreateDefaultService(); driver.HideCommandPromptWindow = true; var op = new ChromeOptions(); op.AddUserProfilePreference("download.default_directory", PathEditais); web = new ChromeDriver(driver, new ChromeOptions(), TimeSpan.FromSeconds(300)); web.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(300); wait = new WebDriverWait(web, TimeSpan.FromSeconds(300)); List <Licitacao> licitacoes = LicitacaoController.FindBySituationBB(); foreach (var licitacao in licitacoes) { web.Navigate().GoToUrl(licitacao.LinkEdital); HandleReCaptcha(); var situacaoDiv = web.FindElement(By.XPath("//*[@id=\"divConsultarDetalhesLicitacao\"]/fieldset/div[11]")); if (situacaoDiv != null) { string situacao = web.FindElement(By.XPath("//*[@id=\"divConsultarDetalhesLicitacao\"]/fieldset/div[11]")).Text.TrimStart().TrimEnd(); if (!string.IsNullOrEmpty(situacao) && situacao != licitacao.Situacao) { licitacao.Situacao = situacao; Repo.Update(licitacao); RService.Log("(UpdateLicitacoes) " + Name + ": Situação da licitação " + licitacao.Id + " atualizada para " + situacao + " at {0}", Path.GetTempPath() + Name + ".txt"); } } } } catch (Exception e) { RService.Log("Exception (UpdateLicitacoes) " + Name + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt"); } finally { if (web != null) { web.Close(); } } }