Перейти к содержимому

Фотография

Обработка исключения с невидимым элементом.

c# selenium webdriver try-catch for

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 DedPerded

DedPerded

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 01 августа 2018 - 09:17

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

Имеется 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;                        
                    }                    

                    IWebElement TheText = driver.FindElement(By.Id("inputtext"));
                    Actions CopyText = new Actions(driver);
                    CopyText.MoveToElement(TheText).Build().Perform();
                    CopyText.Click(TheText).Build().Perform();
                    TheText.SendKeys(Keys.Control + "a");
                    TheText.SendKeys(Keys.Control + "c");

Если элемент остается скрытым, "break" не срабатывает и при попытках сымитировать нажатие клавиш "Ctrl + A" вылетает ошибка (OpenQA.Selenium.ElementNotVisibleException: "element not visible).


  • 0

#2 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 01 августа 2018 - 09:59

так вы делайте try catch в строке 15, а ещё лучше весь блок своего скрипта оберните в try catch

 

да и вообще, хороший тон, это обрабатывать исключения там, где они могут возникнуть =)


  • 1

#3 DedPerded

DedPerded

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 02 августа 2018 - 07:35

так вы делайте try catch в строке 15, а ещё лучше весь блок своего скрипта оберните в try catch

 

да и вообще, хороший тон, это обрабатывать исключения там, где они могут возникнуть =)

 Здравствуйте. Действительно, всё работает теперь. Спасибо!


  • 0



Темы с аналогичным тегами c#, selenium webdriver, try-catch, for

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных