Как заставить selenium ждать загрузки страницы?

Пользователь

от lilla.herman , в категории: Другие , год назад

Как заставить selenium ждать загрузки страницы?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от ludie , год назад

@lilla.herman 

Для ожидания загрузки страницы в Selenium Python можно использовать метод WebDriverWait. Например, чтобы ждать, пока элемент с определенным идентификатором загрузится на странице, можно использовать такой код:

1
2
3
4
5
6
7
8
9
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Ожидаем загрузки элемента с id = "myElement"
# и ждем не более 10 секунд
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "myElement"))
)


Здесь driver - это объект WebDriver, который инициализируется в начале вашего сценария. Метод WebDriverWait ждет до тех пор, пока элемент с заданным локатором (здесь id = "myElement") не будет найден на странице, или пока не истечет время ожидания (10 секунд в данном примере). В конце мы получаем элемент и присваиваем его переменной element. Теперь этот элемент готов для дальнейшего использования в вашем сценарии.