Как поймать элемент в 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 для кнопки с новым классом"))
)
ожидание можно использовать как решение.
Все, нашел решение:
- ПКМ на нужный элемент -> Break On -> attribute modification
- ставим галочку
- Теперь нажимаем на кнопку войти, скрипт ставится на паузу
- Во вкладке Sourses в правом окне сверху видим кнопку следующего шага
- Нажимаем ее или f8, и элемент меняется.
Открой вкладку Sources и нажми Ctrl + \ после смены класса. Потом Inspect Element и копируешь свой класс.