Как использовать webdriverwait вместе с find_element_by_xpath в selenium?

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

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

Как использовать webdriverwait вместе с find_element_by_xpath в selenium?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

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

@guillermo 

WebDriverWait используется вместе с find_element_by_xpath для ожидания появления элемента на странице перед выполнением дальнейших действий со страницей. Вот пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://example.com")

# ждем появления элемента с помощью WebDriverWait
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "//input[@name='q']"))
)

# вводим текст в найденный элемент
element.send_keys("test")

# закрываем браузер
driver.quit()


В данном примере мы ищем элемент по xpath, используя метод find_element_by_xpath. Однако, для ожидания появления элемента на странице, мы используем метод WebDriverWait. Мы передаем в него драйвер, максимальное время ожидания и условие, которое должно быть выполнено для продолжения выполнения программы. В нашем случае мы ждем, пока элемент с указанным xpath не появится на странице.


Затем мы продолжаем выполнять действия со страницей, в данном примере вводим текст в элемент.