Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2018, 16:08   #1
DedPerded
Пользователь
 
Регистрация: 28.10.2016
Сообщений: 24
По умолчанию Обработать исключение с невидимым элементом. Selenium - C#

Доброго времени суток!

Имеется input, который изначально скрыт:
Код:
style="width: 70%; display: none;"
По нажатию кнопки появляется
Код:
style="width: 70%; display: initial;"
Как при помощи try-catch или другого способа завершить цикл for, если по нажатию кнопки элемент останется скрытым?
Код:
IWebElement Text;
try 
{
   Text = driver.FindElement(By.Id("inputtext")); 
}
catch (ElementNotVisibleException)
{
   break;
}
 
Actions Copytext = new Actions(driver);
Copytext.MoveToElement(Text).Build().Perform();
Copytext.Click(Text).Build().Perform();
Приведенный выше код выдает ошибку, если элемент остается невидимым после нажатия кнопки.
DedPerded вне форума Ответить с цитированием
Старый 01.08.2018, 07:03   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
bool success;

IWebElement Text;
try 
{
   Text = driver.FindElement(By.Id("inputtext")); 
   success = true;
}
catch (ElementNotVisibleException)
{
   success = false;
}
 
if (!success)
  break;

Actions Copytext = new Actions(driver);
Copytext.MoveToElement(Text).Build().Perform();
Copytext.Click(Text).Build().Perform();
pu4koff вне форума Ответить с цитированием
Старый 01.08.2018, 11:40   #3
DedPerded
Пользователь
 
Регистрация: 28.10.2016
Сообщений: 24
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код:
bool success;

IWebElement Text;
try 
{
   Text = driver.FindElement(By.Id("inputtext")); 
   success = true;
}
catch (ElementNotVisibleException)
{
   success = false;
}
 
if (!success)
  break;

Actions Copytext = new Actions(driver);
Copytext.MoveToElement(Text).Build().Perform();
Copytext.Click(Text).Build().Perform();
Ничего не поменялось. Ошибка та же, на том же месте.
DedPerded вне форума Ответить с цитированием
Старый 01.08.2018, 11:49   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Каком том же?
И что вам мешает посмотреть что за исключение (тип и т.п.) и поставить соответствующий try catch в нужном месте?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.08.2018, 10:32   #5
DedPerded
Пользователь
 
Регистрация: 28.10.2016
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Каком том же?
И что вам мешает посмотреть что за исключение (тип и т.п.) и поставить соответствующий try catch в нужном месте?
Здравствуйте. Как оказалось, ошибка вылетает из-за того, что селениум словно перестал видеть элементы, от слова "вообще".
На странице веб-сайта элементы остались со своими ID, Селекторами, Xpath, т.е. ничего не менялось. Но программа их вообще теперь не видит и выдаёт ошибку о том, что элементы не найдены или их не видно...
DedPerded вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработать исключение INDY Happy001 Общие вопросы Delphi 1 08.12.2011 04:57
скалярное произведение строки с наибольшим элементом на столбец с наименьшим элементом Adika Помощь студентам 4 03.11.2011 19:12
Не могу обработать исключение CrazyXaoc C++ Builder 10 17.02.2010 14:56
скалярное произведение строки с наибольшим элементом и столбца с наименьшим элементом katya36 Помощь студентам 15 20.12.2008 17:48
Как обработать исключение? XPAiN БД в Delphi 9 16.05.2008 15:09