В реальной работе мы можем столкнуться с некоторыми веб-продуктами. На веб-странице есть выбор времени, а затем поддерживается фильтрация данных по разным периодам времени. Например: когда мы бронируем билет на поезд или бронируем отель, нам нужно выбрать. дату отъезда или время заезда и выезда из отеля. Брат Хун кратко упомянул об этом в предыдущем пункте 12306, посвященном выбору станции отправления, но сегодня я представлю это подробно. Элемент управления календарем на веб-странице обычно представляет собой поле ввода текста. При щелчке мыши открывается интерфейс календаря, и вы можете выбрать конкретную дату. В этой статье брат Хун расскажет, как автоматизировать управление календарем с помощью Playwright.
1. Адрес тестируемого сайта:
https://jqueryui.com/resources/demos/checkboxradio/default.html
2. Веб-страница выглядит следующим образом:
Брат Хун предлагает здесь две идеи. Первая: относительно просто рассматривать его как поле ввода текста и просто вводить его непосредственно в соответствии с форматом даты (скоро наступит День холостяка, брат Хонг напрямую вводит День холостяка в). 23 года, по совпадению, Календарный контроль времени java+selenium уже не за горами).
Дизайн кода, основанный на первой идее, показан на рисунке ниже:
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-11-07
@author: Пекин-Хонге
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» - Автоматическое тестирование Python + Playwright - 28 - Обработка календарного контроля времени - Часть 1
'''
# 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("http://jqueryui.com/resources/demos/datepicker/default.html")
page.wait_for_timeout(5000)
page.locator("#datepicker").fill("2023-11-11")
page.wait_for_timeout(5000)
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
Второй тип: посредством позиционирования элемента, как и при ручной операции, шаг за шагом выберите и щелкните дату.
Дизайн кода, основанный на второй идее, показан на рисунке ниже:
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-11-07
@author: Пекин-Хонге
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» - Автоматическое тестирование Python + Playwright - 28 - Обработка календарного контроля времени - Часть 1
'''
# 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("http://jqueryui.com/resources/demos/datepicker/default.html")
page.wait_for_timeout(5000)
# Нажмите на поле ввода
page.locator("#datepicker").click()
# Нажмите на следующий месяц
page.locator("//*[@id='ui-datepicker-div']/div/a[@data-handler='next']").click()
page.wait_for_timeout(1000)
# Шестой элемент во второй строке, определенный xpath, может сортироваться по-разному каждый месяц, поэтому тот, на который щелкнули, не обязательно может быть 11-м (2023 г.). - 11 - 11)
page.locator("//*[@id='ui-datepicker-div']/table/tbody/tr[2]/td[7]/a").click()
page.wait_for_timeout(5000)
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
Ладно, сегодня уже поздно. Это первое введение в управление календарем в предыдущей статье. Спасибо за ваше терпение! ! !