с использованием driver.implicitly_wait(5)
будет применено один раз ко всем элементам, присутствующим на странице, в течение максимум 5 секунд и будет недостаточным, если элементы занимают больше времени.Обратите внимание, что его нужно будет написать только один раз.Вы можете добавить time.sleep(10)
с помощью модуля time
или аналогичное время ожидания, если вы уверены, сколько времени потребуется для полной загрузки изображений, или использовать явное ожидание.
importследующее
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
Предполагая, что у вас есть локатор элемента, который вы хотите убедиться в том, что он видим, и хотите найти его с помощью XPath в этом примере (в случае, если возвращено несколько элементов с циклическим возвращением элементов)
locator = (By.XPATH,"SOME_VALID_XPATH")
Определите переменную для хранения объекта WebDriverWait
следующим образом:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located(locator))
Проблема может заключаться в том, что изображение может иметь размеры и, следовательно, считаться загруженным и видимым.Обходным путем может быть сохранение изображений и утверждение загруженных изображений равными им, что будет довольно сложным решением для простого случая.
Я бы предложил использовать модуль time
или явное ожидание.,
Ссылка на документацию