Как получить false, если элемент отсутствует на странице в веб-драйвере Selenium

В вашем дизайне что-то не так, потому что когда вы создаете ящик, фрагменты остаются за ящиком. Так что всплывающее окно не должно перекрываться над навигационным ящиком. Здесь вы можете найти больше вещей https://developer.android.com/training/implementing-navigation/nav-drawer

1
задан Mate Mrše 22 January 2019 в 09:56
поделиться

2 ответа

Boolean bool = my_driver.findElements(By.id("my element id")).size()>0;

это тебе поможет.

0
ответ дан Baran SAHİN 22 January 2019 в 09:56
поделиться

Одним из основных принципов необработанного API WebDriver является ожидание того, что пользователь знает состояние DOM для автоматизируемой страницы. Это означает, что в логике API вызов findElement с использованием локатора несуществующего элемента является исключительным условием, что делает исключение совершенно легитимным. Хотя можно утверждать, что ожидание, встроенное в поведение API, ошибочно, это выходит за рамки этого ответа. Если вам нужна логическая логика для определения того, существует ли элемент, вам нужен метод-обертка, как вы уже обнаружили. В рамках этого метода оболочки у вас есть два варианта:

  1. Используйте findElement и поймайте NoSuchElementException. Обратите внимание, что использование WebDriverWait неявно ловит это исключение для вас, как и семантический эквивалент.

  2. Используйте findElements (обратите внимание на «s»), который возвращает пустой список без исключения, если элемент не существует.

0
ответ дан JimEvans 22 January 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: