/// <summary> /// Prints the order details. /// </summary> public virtual void Print() { var tabHelper = WrappedDriver.TabHelper(); var initialTabs = tabHelper.GetTabHandles().ToList(); var initialTab = WrappedDriver.CurrentWindowHandle; WrappedDriver .Wait(TimeSpan.FromSeconds(30)) .Until( d => tabHelper.GetTabHandles().Count() > initialTabs.Count); WrappedDriver .SwitchTo() .Window(tabHelper .GetTabHandles() .Except(initialTabs) .First()); var printWindowHandle = WrappedDriver.CurrentWindowHandle; WrappedDriver.WaitForUserSignal(TimeSpan.FromMinutes(5)); // Close the tab if it's still open. if (WrappedDriver.CurrentWindowHandle == printWindowHandle) { WrappedDriver.Close(); } // Switch back to the initial window handle. WrappedDriver.SwitchTo().Window(initialTab); }