Каков наилучший способ проверить, существует ли элемент на странице? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть таблица с ячейками, содержащими данные, над которыми я делаю операции.Я просто проверяю условие, например:

(ExtractTextFromElement(duoqTable, duoqRowNumber, 3, "'duoqTable'").Contains("Europe") ||
  ExtractTextFromElement(duoqTable, duoqRowNumber, 3, "'duoqTable'").Contains("Russia")

Проблема в том, что этот IWebElement иногда может исчезать, и если я нахожусь внутри этого блока условий, возникает исключение.Я мог бы сделать дополнительную проверку, если элемент существует перед каждым оператором условия, но он кажется неэффективным.Есть ли лучший способ?

1 Ответ

2 голосов
/ 27 июня 2019

если вы используете метод поиска элементов вместо поиска элемента, вы не получите исключения. «Найти элементы» возвращает список веб-элементов, для которого необходимо проверить его размер.

if driver.findElements(By.className("xyz").size()>0
   driver.findElements(By.className("xyz").get(0).getText();
else
   System.out.println("No element found")

Приведенный выше код не сгенерирует никаких исключений, и нет необходимости использовать блок try / catch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...