🔖 Справочник: локаторы, действия, expect

← К оглавлению урока

⚡ Шпаргалка

page.get_by_role("button", name="OK").click()
page.get_by_label("Email").fill("a@b.com")
page.get_by_role("listitem").filter(has_text="X").nth(0)
expect(page.locator(".msg")).to_have_text("Готово")

Локаторы

ЛокаторНазначение
get_by_role(role, name=...)По ARIA-роли (button, link, checkbox, heading…)
get_by_text(text, exact=False)По видимому тексту
get_by_label(text)Поле формы по связанному label
get_by_placeholder(text)По placeholder
get_by_alt_text(text)Картинка по alt
get_by_title(text)По атрибуту title
get_by_test_id(id)По data-testid
locator("css") / locator("//xpath")CSS / XPath — крайний случай

Уточнение локаторов

МетодНазначение
.filter(has_text=...)Оставить элементы с текстом
.filter(has_not_text=...)Исключить элементы с текстом
.filter(has=locator)Оставить содержащие вложенный элемент
.nth(i) / .first / .lastВыбор по индексу
.get_by_role(...) (цепочкой)Поиск внутри найденного

Действия

МетодНазначение
click() / dblclick()Клик / двойной клик
fill(text)Ввести в поле (очистив)
type(text) / press_sequentially(text)Посимвольный ввод
check() / uncheck()Чекбокс / радио
select_option(value)Выбор в select
press("Enter")Клавиша
hover()Навести курсор

Матчеры expect()

МатчерПроверяет
to_be_visible() / to_be_hidden()Видимость
to_have_text(t) / to_contain_text(t)Текст
to_have_value(v)Значение поля
to_have_count(n)Количество элементов
to_be_enabled() / to_be_checked()Доступность / состояние чекбокса
to_have_attribute(name, value)Атрибут
⚠️ Полный перечень — LocatorAssertions. Набор зависит от версии.