Не отрабатывает ожидание установленное через implicitly_wait

python
selenium
webdriver
Теги: #<Tag:0x00007fedb8852e58> #<Tag:0x00007fedb8852d18> #<Tag:0x00007fedb8852bb0>

(Tester) #1

Привет.

Может я что-то делаю не так, но не срабатывает ожидаение implicitly_wait. Устанавливаю его сразу после создания объекта вебдрайвера, передаю 10 секунд, но елемент на странице не находиться.

    self.webdriwer = webdriver.Chrome()
    self.webdriwer.maximize_window()
    self.webdriwer.implicitly_wait(10)

Хотя этот же елемент находиться если я втупую усыпляю поток на 2 секунды через time.sleep(). Может есть идеи, что я делаю не так ?


(Fiodar Motin) #2

Все правильно элемент не найден и потом он будет ждать просто 10 сек


(Tester) #3

В руководстве написано, что вроде бы он на протяжении 10 секунд будет отыскивать этот элемент. Наверное, я не правильно интерпретировал.

А как, в таком случае, обрабатывать это, если он не нашел?


(Fiodar Motin) #4

Посмотрите в сторону explicit wait https://www.seleniumhq.org/docs/04_webdriver_advanced.jsp
он по Expected.Conditions будет проверять в течении необходимого времени.


(Tester) #5

А для каких же целей реализован implicitly_wait ?


(Maxim Andryushchenkov) #6

Забудьте вообще это пользуясь Selenium и используйте только явные ожидания как вам посоветовали выше


(Yaroslav Pernerovskyy) #7