public static void ClickLocatorSafely(IWebDriver driver, By locator) { try { //Helpers.FindElement(driver, locator); Helpers.WaitForLocatorLoad(driver, locator); Helpers.WaitUntilElementIsClickable(driver, locator); IWebElement elementButton = driver.FindElement(locator); ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click();", elementButton); } catch (Exception ex) { Assert.Fail("Helpers method 'ClickLocatorSafely'.\nElemement: \n" + locator.ToString() + "\n does not clickable.\nTest fail due to: {0}, {1}, {2}", ex.Message, ex.InnerException, ex); } }
//best-click public static void WaitAndClickElement(IWebDriver driver, IWebElement element) { try { Helpers.WaitForLocatorLoad(driver, By.CssSelector(Helpers.GetElementCssSelector(driver, element))); Helpers.FindElement(driver, element); new Actions(driver).MoveToElement(element).Build().Perform(); Helpers.ScrollToElement(driver, element); Helpers.ClickElementSafly(driver, element); } catch (Exception ex) { Assert.Fail("Helpers method 'WaitAndClickElement' was failed.\nElement:\n" + Helpers.GetElementCssSelector(driver, element) + "\nTest fail due to: {0}, {1}, {2}", ex.Message, ex.InnerException, ex); } }