Учусь делать тестирование UI страницы при помощи selenium.
На странице имеется множество ajax-запросов, которые выполняются при загрузке, проблема в том, что я не могу программно отследить, когда их выполнение завершится.
Использую такую конструкцию:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
timeout = 5
wait = WebDriverWait(driver, timeout)
my_tag_present = EC.visibility_of_element_located((By.TAG_NAME, "my_tag"))
wait.until(my_tag_present)
такой подход работает, но не всегда, и мне приходится указывать конкретный тэг (tag_id, class, xpath).
Хочется применить более комплексный и универсальный подход, без указания нужных тэгов.
Как, например, работают сервисы по тестированию сайтов. Ему (сервису) ведь неизвестно, какие элементы должны быть на странице, однако, полное время загрузки и скриншот загруженной страницы в отчёте мы видим.