Попробуйте с explicit wait
, используя expected_conditions
, как показано ниже.
Необходимость импорта:
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
Затем вы можете подождать, пока элемент появится перед взаимодействием.
# waiting for max of 30 seconds, if element present before that it will go on to the next line.
ele = WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,"xpath_goes_here")))
ele.click() # or what ever the operation like .send_keys()
Таким образом, приложение будет динамически ожидать появления элемента. Обновите время с 30 секунд, если требуется, в зависимости от вашего приложения.
Также вы можете использовать различные стратегии определения местоположения при проверке наличия элемента, например: By.CSS_SELECTOR/By.ID/By.CLASS_NAME