BitrixAQA.Selenium.Framework.WebItem.ClickAndWait C# (CSharp) Method

ClickAndWait() public method

Клик по WebItem. Аналог WebDriver.Click() После клика ждет заданное количество времени. Опционально, по умолчанию 1 секунда.
public ClickAndWait ( double secondsToWait = 0.5, bool ScrollToObject = true, bool checkErrors = true, int x, int y, bool NoRefresh = false ) : void
secondsToWait double Время ожидания, секунд
ScrollToObject bool Меняет скроллирование до объекта(по умолчанию: отключено для админской части и включено для публичной) /// Соответственно true включает скролл в адимнке и выключает в публичке
checkErrors bool Проверить наличие ошибок. По умолчанию true - проверить
x int координата x для клика относительно верхнего левого угла объекта
y int координата y для клика относительно верхнего левого угла объекта
NoRefresh bool Если задан - рефреш страницы при зависании не производится
return void
        public void ClickAndWait(double secondsToWait = 0.5, bool ScrollToObject = true, bool checkErrors = true, int x = 0, int y = 0, bool NoRefresh = false)
        {
            if (ScrollToObject)
                BitrixFramework.ScrollOnCoords(this);

            if (x != 0 && y != 0)
            {
                OpenQA.Selenium.Interactions.Actions builder = new OpenQA.Selenium.Interactions.Actions(BitrixFramework.WebDriver);
                builder.MoveToElement(BitrixFramework.FindWebElement(this), x, y).Click().Build().Perform();
            }
            else
            {
                try
                {
                    BitrixFramework.FindWebElement(this).Click();
                }
                catch (NullReferenceException)
                {
                    Log.MesError("Не найден объект \"" + this.description + "\" по пути \"" + this.by.ToString() + "\"");
                    throw;
                }
                catch (StaleElementReferenceException)
                {
                    Log.MesQuestion("Изменился DOM страницы, и элемента " + this.description + " больше нет в кеше. Подождем 5 сек и попробуем найти его ещё разок");
                    BitrixFramework.Wait(5);
                    try
                    {
                        BitrixFramework.FindWebElement(this).Click();
                    }
                    catch
                    {
                        Log.MesError("Не найден объект \"" + this.description + "\" по пути \"" + this.by.ToString() + "\"");
                        throw;
                    }
                }
                catch (OpenQA.Selenium.WebDriverException e)
                {
                    Log.MesQuestion("Висит страница \r\nMessage: " + e.Message + "\r\nStackTrace: " + e.StackTrace + "\r\n<a href=\"" + ScreenCapture.Printscreen() + "\">скриншот</a>");
                    if(!NoRefresh)
                        BitrixFramework.Refresh();
                    BitrixFramework.Wait(5);
                }
            }
            Log.MesNormal(String.Format("'{0}' -> Клик", description));

            System.Threading.Thread.Sleep(Convert.ToInt32(secondsToWait * 1000));
            if (checkErrors)
            {
                BitrixFramework.CheckJSErrors();
                GM.CheckContentOnErrors();
            }
        }