Как поймать элемент в HTML?

Всем привет. Подскажите новичку) Есть страница с формой логина. Пишу автотест на нее. При вводе логина и пароля и нажатии на кнопку войти, эта самая кнопка на 1 сек меняется (начинает там кружочек крутиться, вместо текста "Войти"), через devtools вижу что у кнопки меняется class, за который можно зацепиться XPATH-ом. НО! возникает она на 1 сек примерно, и я никак не успеваю скопировать этот класс. Что то мне подсказывает что можно это все дело на паузу поставить в нужный момент? Или есть иные способы? Люди добрые, просветите!


Ответы (3 шт):

Автор решения: Рустам Рысаев
# Находим кнопку и нажимаем её
login_button = driver.find_element(By.XPATH, "ваш_XPATH_кнопки")
login_button.click()

# Ожидаем появления элемента с новым классом (кружок загрузки)
WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "XPath для кнопки с новым классом"))
)

ожидание можно использовать как решение.

→ Ссылка
Автор решения: Niko

Все, нашел решение:

  • ПКМ на нужный элемент -> Break On -> attribute modification
  • ставим галочку
  • Теперь нажимаем на кнопку войти, скрипт ставится на паузу
  • Во вкладке Sourses в правом окне сверху видим кнопку следующего шага
  • Нажимаем ее или f8, и элемент меняется.
→ Ссылка
Автор решения: Qwertiy

Открой вкладку Sources и нажми Ctrl + \ после смены класса. Потом Inspect Element и копируешь свой класс.

→ Ссылка