Клик по xPath или выход по красной ветке, если нет клика?

backoff

Client
Регистрация
20.04.2015
Сообщения
6 006
Благодарностей
6 447
Баллы
113
Хая.

Как сделать, чтобы при не существующему клику по xpath, шел выход по красной ветке?

пользуюсь кодом
как пример
Код:
instance.ActiveTab.FindElementByXPath("//form[@role='search']//button[@type='submit']", 0).Click();
это клик по кнопке "найти" на главной странице яндекса

но если сделать вот так
Код:
instance.ActiveTab.FindElementByXPath("//form[@role='search']//button[@type='submit222222222222222']", 0).Click();
кубик тоже выдает успех, но как такового клика нет

есть ли готовый сниппет проверки нажатия?

хельп!

ps \ так-то проблем особых нет с xPath'сом, но если вдруг элемент не успевает прогрузиться, то все идет по .... ((
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113
кубик тоже выдает успех
C#:
HtmlElement he = instance.ActiveTab.FindElementByXPath("id('button')", 0);
if (he.IsVoid) throw new Exception("Не найдено и т.д."); // их всегда надо проверять
he.Click();
элемент не успевает прогрузиться
Ни что не мешает сделать цикл с задержкой.
 
Последнее редактирование:
  • Спасибо
Реакции: backoff и Lord_Alfred

backoff

Client
Регистрация
20.04.2015
Сообщения
6 006
Благодарностей
6 447
Баллы
113
Ни что не мешает сделать цикл с задержкой.
не всегда нужного количества секунд хватает

сделал вот такой вариант, чтоб 1 раз прописывать путь

Код:
var xpath = "//form[@role='search']//button[@type='submit']";

HtmlElement he = instance.ActiveTab.FindElementByXPath(xpath, 0);
if (he.IsVoid) throw new Exception("Не найдено и т.д."); // их всегда надо проверять
he.Click();

instance.ActiveTab.FindElementByXPath(xpath, 0).Click();
спасибо!
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)