Почему в веб-драйвере Selenium нам нужно установить неявное ожидание равным 0, прежде чем использовать явное ожидание?
В веб-драйвере selenium, почему нам нужно установить неявное ожидание равным 0, прежде чем мы будем использовать явное ожидание
Ответы:
Неявное ожидание: устанавливается специально для элемента. Когда установлено, если веб-драйвер не может найти его сразу из-за его доступности, он будет продолжать опрашивать (около 250 миллисекунд) DOM, чтобы получить элемент.
Если элемент недоступен в течение указанного времени, будет возбуждено исключение NoSuchElementException. Значение по умолчанию равно нулю.
Явное ожидание: для драйвера установлено явное ожидание.
Бывают случаи, когда для загрузки определенного элемента требуется больше минуты. В этом случае вам определенно не нравится устанавливать огромное время для неявного ожидания, так как если вы сделаете это, ваш браузер будет ждать одинаковое время для каждого элемента.
Чтобы избежать этой ситуации, вы можете просто указать отдельное время только для необходимого элемента. Следуя этому, неявное время ожидания вашего браузера будет коротким для каждого элемента и большим для определенного элемента.
Чтобы узнать больше об ожиданиях веб-драйвера, прочитайте: http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp
Смешанное неявное и явное ожидание может привести к неожиданному тайм-ауту.
Это может привести к непредсказуемому времени ожидания. Например, установка неявного ожидания в 10 секунд и явного ожидания в 15 секунд может привести к тайм-ауту через 20 секунд.