Здесь есть 2 концепции - это:
- Время загрузки страницы - время загрузки страницы и содержимого (... это загружает скрипты), затем ....
- Время загрузки скрипта - время для запуска скриптов, получения дополнительных данных и заполнения страницы.
Время загрузки страницы относительно просто - но это включено по умолчанию и может не сильно помочь, если у вас уже возникают проблемы.
Для времени загрузки скрипта вам понадобится объект для синхронизации. Документы по селену дают хорошее описание различных стратегий ожидания и предоставляют примеры кода для разных языков.
Глядя на свою страницу, вы, скорее всего, захотите попробовать явное ожидание. В Javascript это:
await driver.wait(until.elementLocated(By.id('foo')), 30000);
Вы можете обновить идентификатор By
, чтобы он был ПОСЛЕДНИМ элементом на странице, или использовать этот подход для каждого элемента, с которым вам нужно взаимодействовать.
На тех же страницах также перечислены другие ожидаемые условия в зависимости от состояния, которое вам нужно.
Быстрое заключительное замечание, если вы не знаете, селен 4 все еще находится в альфа-версии . Вы можете получить к нему доступ, если вам нужны новые функции, но они все еще проходят тестирование и часто меняются. Если вам не нужны новые функции Selenium 4, вы можете вернуться к последней стабильной версии .