Поиск элемента на xpath

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
Приветствую товарищи кодеры.
Нужна помощь.
Ищу элемент на странице,если он есть,то xpath находит и все выполняется нормально,если элемента на странице нет,то проект останавливается с ошибкой,а в лог пишет элемент не найден.
Как сделать так чтобы если элемент не найден не возникала ошибка,а код выполнялся дальше?

Код:
string xpath_my_albums = ".//*[@id='page_actions_btn']/span";
var my_albums_count = CommonCode.FindByXpath(instance, xpath_my_albums);
if(my_albums_count.IsVoid)
{
    return 2;
}
return "x";
 

Sobesednic

Client
Регистрация
24.12.2012
Сообщения
391
Благодарностей
77
Баллы
28
выход по красной и дальше в проект?
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
651
Баллы
93
C#:
string xpath_my_albums = ".//*[@id='page_actions_btn']/span";
var my_albums_count = CommonCode.FindByXpath(instance, xpath_my_albums);
if(my_albums_count.IsVoid)
{
    return null; // Уйдет по красной ветке
    // throw new Exception("Не нашли чего-то"); // Но лучше так, тоже уйдет по красной ветке но хоть можно будет увидеть причину
}
return "x";
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
C#:
string xpath_my_albums = ".//*[@id='page_actions_btn']/span";
var my_albums_count = CommonCode.FindByXpath(instance, xpath_my_albums);
if(my_albums_count.IsVoid)
{
    return null; // Уйдет по красной ветке
    // throw new Exception("Не нашли чего-то"); // Но лучше так, тоже уйдет по красной ветке но хоть можно будет увидеть причину
}
return "x";
выход по красной и дальше в проект?
нет нету красной ветки,все немного сложнее... если элемент найден то выполняется код вместо return x; ,если не найден, то выполняется код вместо return 2;
Вообще вместо поиска по xpath я уже сделал поиск по HtmlElement, но очень интересно как такую проблему обработать если придется использовать xpath!
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
651
Баллы
93
нет нету красной ветки,все немного сложнее... если элемент найден то выполняется код вместо return x; ,если не найден, то выполняется код вместо return 2;
Вообще вместо поиска по xpath я уже сделал поиск по HtmlElement, но очень интересно как такую проблему обработать если придется использовать xpath!
А, вчера не заметил, у вас поиск по xPath не зенковским методом сделан, и что происходит внутри CommonCode.FindByXpath неясно, подозреваю что иключение происходит в нем.
 

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