static void Main(string[] args) { RemoteWebDriver driver = null; string serverPath = "Microsoft Web Driver"; try { if (System.Environment.Is64BitOperatingSystem) { serverPath = Path.Combine(System.Environment.ExpandEnvironmentVariables("%ProgramFiles(x86)%"), serverPath); } else { serverPath = Path.Combine(System.Environment.ExpandEnvironmentVariables("%ProgramFiles%"), serverPath); } // location for MicrosoftWebDriver.exe EdgeOptions options = new EdgeOptions(); options.PageLoadStrategy = EdgePageLoadStrategy.Eager; driver = new EdgeDriver(serverPath, options); //Set page load timeout to 5 seconds driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(5)); // Navigate to https://www.bing.com/ driver.Url = "https://www.bing.com/"; //// Find the search box and query for webdriver RemoteWebElement element = (RemoteWebElement)driver.FindElementById("sb_form_q"); element.SendKeys("webdriver"); element.SendKeys(Keys.Enter); // Wait for search result WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5)); wait.Until(x => x.Title.Contains("webdriver")); Screenshot shot = driver.GetScreenshot(); shot.SaveAsFile("output.png", ImageFormat.Png); } catch (Exception e) { Console.WriteLine(e.Message); } finally { if (driver != null) { driver.Close(); } } }
static void Main(string[] args) { Console.Write("Release: "); var release = Console.ReadLine(); Console.Write("Environment: "); var environment = Console.ReadLine(); Console.Write("Cluster (optional):"); var cluster = Console.ReadLine(); Console.WriteLine("Starting Edge automation."); Trace.Listeners.Add(new TextWriterTraceListener(Console.Out)); if (!string.IsNullOrWhiteSpace(UserConfig.Instance.ErrorLog)) { Trace.Listeners.Add(new TextWriterTraceListener(UserConfig.Instance.ErrorLog)); } UserConfig.Instance.Reload(); var now = DateTime.Now; var yearWeek = DateTimeFormatInfo.CurrentInfo.Calendar.GetWeekOfYear(now, CalendarWeekRule.FirstDay, DayOfWeek.Sunday); var releaseName = $"{now.ToString("yy")}.{yearWeek} {release}"; var runDateAndHour = now.ToString("MM-dd-yyyy HH"); try { var serverPath = Path.Combine(Environment.ExpandEnvironmentVariables($"{((Environment.Is64BitOperatingSystem) ? "%ProgramFiles(x86)%" : "%ProgramFiles%")}"), Properties.Settings.Default.WebDriverName); var options = new EdgeOptions { PageLoadStrategy = EdgePageLoadStrategy.Normal }; var sites = UserConfig.Instance.Sites.Where(s => string.IsNullOrWhiteSpace(cluster) || s.Cluster.Equals(cluster, StringComparison.OrdinalIgnoreCase)).ToList(); var pages = UserConfig.Instance.Pages.ToList(); using (var driver = new EdgeDriver(serverPath, options)) { //This doesn't seem to work yet? //driver.Manage().Window.Maximize(); //driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 15)); for (var s = 0; s < sites.Count(); s++) { var site = sites[s]; Console.WriteLine("------------------------------------"); Console.WriteLine($"Site {s+1} of {sites.Count()}"); Console.WriteLine(); Console.WriteLine(site.Name); foreach (Page page in pages) { try { Console.WriteLine($" {page.Name}"); driver.Navigate().GoToUrl($"{site.BaseUrl}{page.Suffix}"); Thread.Sleep(5000); var imagePath = Path.Combine(UserConfig.Instance.ScreenShotPath, releaseName, environment, runDateAndHour, "Desktop", $"{site.Name} {page.Name} edge.png"); Directory.CreateDirectory(Path.GetDirectoryName(imagePath)); var screenshot = driver.GetScreenshot(); screenshot.SaveAsFile(imagePath, System.Drawing.Imaging.ImageFormat.Png); } catch (Exception e) { Trace.WriteLine(e.Message); } } Console.WriteLine(); } } } catch (Exception e) { Trace.WriteLine(e.Message); } Console.WriteLine("That's all folks! Press enter to close this window."); Console.ReadLine(); }