Само собой разумеется, что этот вид мимолетных тостов сейчас стал довольно распространенным или не странным. Его следует использовать на крупных веб-сайтах в Интернете. Я случайно увидел эту сцену, когда снимал дом, поэтому брат Хун решил применить ее на практике и продемонстрировать. это.
Позвольте мне заранее заявить, что брат Хун не взимает с них плату за рекламу. Это исключительно за обучение и реальный бой.
1. Адрес тестируемого сайта:
https://login.anjuke.com/login/form?history=aHR0cHM6Ly9iZWlqaW5nLmFuanVrZS5jb20v
2. Веб-страница выглядит следующим образом:
Сегодня я буду использовать указанный выше веб-сайт, чтобы объяснять и демонстрировать, а также закреплять предыдущие знания и узнавать новое, анализируя прошлое.
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-12-09
@author: Пекин-Хонге
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний релиз» – Автоматическое тестирование Python + Playwright – 36 – Обработка позиционирования веб-страницы – Часть 2
'''
# 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://login.anjuke.com/login/form?history=aHR0cHM6Ly9iZWlqaW5nLmFuanVrZS5jb20v")
page.wait_for_timeout(2000)
# действовать iframe элементы на
frame = page.frame_locator("iframe[id^=iframeLoginIfm]")
# xpath соответствовать
frame.locator('[id="phoneIpt"]').fill('13617831920')
frame.locator('[id="smsIpt"]').fill('666666')
frame.locator('[id="checkagree"]').click()
frame.locator('[id="smsSubmitBtn"]').click()
#page.pause()
#toast_text = page.locator('[className="toast"]').inner_text()
toast_text = frame.get_by_text('Пожалуйста, получите код подтверждения')
page.wait_for_timeout(3000)
#page.pause()
print("Toast text is",toast_text.inner_text())
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
Брат Хонг здесь еще раз напоминает друзьям или детям, чтобы они обращали внимание на ловушку iframe, иначе позиционирование не сможет найти элемент за всю жизнь, а также обратить внимание на метод позиционирования тоста в iframe. Использование братом Хонгом xpath и className не сработало. Вероятно, это можно понять по коду, прокомментированному братом Хонгом. В конце концов, это просто не сработало, поэтому он использовал позиционирование текста. Более того, этот элемент совершенно уникален, у него есть только одно имя класса и никаких других атрибутов. Это также может быть связано с появлением Iframe. . .
Хорошо, сегодня уже поздно, поэтому брат Хун объяснит и поделится здесь. Спасибо за ваше терпение при чтении, надеюсь, это будет вам полезно.