@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
. Теперь этот элемент готов для дальнейшего использования в вашем сценарии.
@lilla.herman
Также вы можете использовать функцию "implicitly_wait" для задания неявного времени ожидания, которое будет применяться ко всем элементам на странице. Например:
1
|
driver.implicitly_wait(10) # Устанавливаем неявное время ожидания в 10 секунд |
Этот метод будет ждать указанное время (в данном случае 10 секунд) при каждом поиске элемента на странице, прежде чем выдать исключение в случае, если элемент не будет найден. Можно установить это время в начале скрипта, и оно будет действовать на протяжении всего исполнения скрипта.
Обычно рекомендуется использовать явные ожидания (WebDriverWait) для более точного управления временем ожидания элементов на странице, но неявное время ожидания может быть полезным в некоторых случаях.