Жизненный цикл некоторых элементов страницы подобен метеору, вспышке на сковороде. Мы не знаем, появлялся ли этот элемент на странице раньше, поэтому хотим запечатлеть этот прекрасный момент и сделать его вечным. Давайте определим, появился ли элемент.
Прежде чем работать с элементом, вы можете сначала определить статус элемента. Определение рабочего состояния элементов также можно использовать для утверждений.
Метод оценки, вызываемый объектом страницы, передает параметр позиционирования селектора.
Метод оценки, вызываемый объектом локатора
Как определить дескрипторы элементов
Дескриптор элемента (element_handle) — это ElementHandle, возвращаемый вызовом метода page.query_selector(), который обычно не используется. Тоже не рекомендуется.
При автоматизированном тестировании нам часто приходится выносить суждения по сценарию. Например, после выполнения некоторых операций некоторые напоминания будут активированы, некоторые — правильные напоминания, а некоторые — подсказки об ошибках, отображаемые красным шрифтом. Как нам отразить эти поля в нашей автоматизации и что, если мы сделаем выводы об автоматизации тестирования? Здесь мы будем использовать метод, который мы узнали сегодня. Брат Хун использует вход на домашнюю страницу Ду Ньянга в качестве примера, чтобы определить, появляется ли поле «Пожалуйста, введите проверочный код».
1. Посетите домашнюю страницу DuNiang
2. Найдите кнопку входа на главной странице и нажмите
3. Появится окно входа в систему, найдите кнопку входа по SMS и нажмите
4. Найдите поле ввода номера мобильного телефона и введите номер мобильного телефона.
5. Найдите соглашение и нажмите
6. Найдите кнопку входа в поле входа и нажмите
7. Найдите появившееся сообщение «Пожалуйста, введите проверочный код», а затем оцените.
Следуйте идее кода Хун Гэ в руководстве по Selenium:
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2024-05-09
@author: Пекин-Хонге
Публичный аккаунт: Beijing Hongge (поиск WeChat: Beijing Hongge, фокус на Брат Хун, разблокируй больше тестовых предметов заранее! )
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга тест-59 - Определить, отображается ли элемент
'''
# 3. Импортировать модули
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.baidu.com/")
# Найдите кнопку входа на главной странице и нажмите «Войти».
page.locator("//*[@id='u1']/a[1]").click()
page.wait_for_timeout(300)
# Во всплывающем окне входа найдите кнопку входа по SMS и нажмите
page.locator("#TANGRAM__PSP_11__changeSmsCodeItem").click()
# Найдите поле ввода номера мобильного телефона и введите номер мобильного телефона.
page.locator("#TANGRAM__PSP_11__smsPhone").type("13734294156")
# Соглашение о размещении, соглашение, нажмите кнопку
page.locator("#TANGRAM__PSP_11__smsIsAgree").click()
# Найдите кнопку входа в поле входа и нажмите
page.locator("#TANGRAM__PSP_11__smsSubmit").click()
error_message = page.locator("//*[@id='TANGRAM__PSP_11__smsError' and text()='Пожалуйста, введите проверочный код']")
if error_message.is_visible():
print("Брат Хун! Элемент существует")
else:
print("Брат Хун! Элемент не существует")
page.wait_for_timeout(1000)
print("browser will be close");
page.close()
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вы увидите вывод консоли, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
Второй метод — сначала получить строку и сохранить ее в переменной String, а затем сравнить две строки. На самом деле, этот метод использовался и раньше, но брат Хонг не указал на него. Как и элемент тоста в предыдущей статье, он непосредственно позиционируется и сохраняется в переменной, а затем выводится его текст. правильно, друзья или детская обувь?
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2024-05-09
@author: Пекин-Хонге
Публичный аккаунт: Beijing Hongge (поиск WeChat: Beijing Hongge, фокус на Брат Хун, разблокируй больше тестовых предметов заранее! )
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга тест-59 - Определить, отображается ли элемент
'''
# 3. Импортировать модули
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.baidu.com/")
# Найдите кнопку входа на главной странице и нажмите «Войти».
page.locator("//*[@id='u1']/a[1]").click()
page.wait_for_timeout(300)
# Во всплывающем окне входа найдите кнопку входа по SMS и нажмите
page.locator("#TANGRAM__PSP_11__changeSmsCodeItem").click()
# Найдите поле ввода номера мобильного телефона и введите номер мобильного телефона.
page.locator("#TANGRAM__PSP_11__smsPhone").type("13734294156")
# Соглашение о размещении, соглашение, нажмите кнопку
page.locator("#TANGRAM__PSP_11__smsIsAgree").click()
# Найдите кнопку входа в поле входа и нажмите
page.locator("#TANGRAM__PSP_11__smsSubmit").click()
error_message = page.locator("//*[@id='TANGRAM__PSP_11__smsError' and text()='Пожалуйста, введите проверочный код']").inner_text()
if error_message=="Пожалуйста, введите проверочный код":
print("Брат Хун! Элемент существует")
else:
print("Брат Хун! Элемент не существует")
page.wait_for_timeout(1000)
print("browser will be close");
page.close()
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вы увидите вывод консоли, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
Ладно, сегодня уже поздно. Это все введение в определение того, отображается ли элемент. Спасибо за ваше терпение при чтении! ! !