В реальном процессе автоматического тестирования мы не можем избежать тестов с выбором из раскрывающегося списка, поэтому брат Хун поделится ими и представит их прямо здесь. Я надеюсь, что это может быть полезно друзьям или детям, которые столкнутся с этим в будущей работе. Сегодня мы поговорим о том, как работать с раскрывающимся списком драматурга. В процессе использования позиционирования селена мы можем использовать класс Select селена для позиционирования поля выбора (более сложное), но это действительно удобно. драматург.
Раскрывающийся список — это общий элемент управления пользовательского интерфейса. Обычно он используется для отображения пользователю нескольких вариантов и позволяет пользователю выбрать лучший ответ. Пользователи могут выбрать элемент из данного списка в раскрывающемся списке, чтобы ввести соответствующий контент, что позволяет веб-дизайнерам быстро реализовать пустую интеграцию и простые операции, упрощая ввод данных пользователем.
Раскрывающиеся списки могут иметь разные макеты и представления. Например, обычный раскрывающийся список состоит из флажков и полос прокрутки и может использоваться, чтобы позволить пользователям выбирать один из нескольких вариантов. Вы также можете использовать раскрывающиеся списки для обработки больших данных, что ускоряет поиск. Существует также макет раскрывающегося списка для размещения полей ввода для повышения эффективности ввода данных пользователем.
Раскрывающиеся ящики имеют много преимуществ. Прежде всего, он может украсить веб-интерфейс и сэкономить место, а также представить несколько вариантов выбора в вертикальной форме для экономии места. Во-вторых, это может помочь защитить пользователей от ошибок ввода, выбирая только из списка, что предотвращает ввод пользователями неверных данных, таких как текст с ошибкой. Кроме того, раскрывающийся список может упростить операции пользователя C (Управление), повысить эффективность работы, упростить работу и отразить намерения пользователя.
Что еще более важно, раскрывающиеся списки могут помочь сократить время ввода пользователем и уменьшить количество отвлекающих факторов, которые мешают пользователям выполнять поиск по всем параметрам текста. Особенно при вводе большого объема информации это может сократить время, необходимое для выполнения задачи, тем самым улучшая удобство использования веб-страницы для пользователя.
Короче говоря, раскрывающиеся списки часто используются в веб-дизайне. Они имеют много преимуществ. Они могут украсить веб-интерфейс, повысить эффективность пользовательского ввода, сократить время ввода данных, помочь пользователям лучше контролировать фоновую систему и уменьшить вероятность неправильных действий. вход.
Используйте locator.select_option() в Playwright, чтобы выбрать один или несколько параметров внутри элемента. Мы можем указать значение параметра или выбрать метку, а также выбрать несколько параметров. Официальные примеры использования следующие:
# Single selection matching the value
page.get_by_label('Choose a color').select_option('blue')
# Single selection matching the label
page.get_by_label('Choose a color').select_option(label='Blue')
# Multiple selected items
page.get_by_label('Choose multiple colors').select_option(['red', 'green', 'blue'])
1. Подготовьте тестовое упражнение select.html следующим образом:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>тестSelect</title>
<style type="text/css">
.button1 {
background-color: #f44336;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 28px;
margin-bottom: 100px;
text-decoration:none;
color: white;
}
#myAnchor
{
text-decoration:none;
color: white;
}
</style>
</head>
<body>
<button class="button1"><a id="myAnchor" href="https://www.cnblogs.com/du-hong/">Пекин-Хонге</a></button></br>
Адрес экспресс-почты:
<select id="select_id" name="select_name" class ="select_cls">
<option value="0">Пожалуйста, выберите</option>
<option value="1">Шаньси</option>
<option value="2">Шэньси</option>
<option value="3">Шаньдун</option>
<option value="4">Сычуань</option>
<option value="5">Хэбэй</option>
</select>Провинция_XXX_город_ XXX_улица
</body>
</html>
2. Эффект страницы показан ниже:
# single selection matching the value or label
element.select_option("1")
# single selection matching the label
element.select_option(label="Шаньдун")
# select_name selection for 0, 1 and second option
element.select_option(value=["0","1", "2", "3","4","5"])
Первый метод: вызов напрямую через объект страницы, следующим образом:
page.select_option(selector,value) # Выбрать по значению
page.select_option(selector,index) # Выбрать по индексу
page.select_option(selector,label) # Выбрать по ярлыку
Вышеупомянутый метод: сначала используйте селектор, чтобы найти элемент.
Первый — выбор по значению. Как следует из названия, вы можете выбирать с помощью элемента значения нашего поля выбора.
Второй метод — выбор по индексу, что означает, что мы можем выбирать по индексу.
Третий метод — выбор по метке, что означает, что мы можем выбирать по значению параметра.
Второй метод: сначала найдите элемент выбора, а затем найдите параметры следующим образом:
select = page.get_by_label("Выбрать:")
select.select_option(label="forth")
Прежде всего, брат Хун готовит тестовую демонстрационную версию HTML, поскольку ее трудно найти в Интернете или она не соответствует требованиям для демонстрации.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>тестSelect</title>
<style type="text/css">
.button1 {
background-color: #f44336;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 28px;
margin-bottom: 100px;
text-decoration:none;
color: white;
}
#myAnchor
{
text-decoration:none;
color: white;
}
</style>
</head>
<body>
<button class="button1"><a id="myAnchor" href="https://www.cnblogs.com/du-hong/">Пекин-Хонге</a></button></br>
<label>Адрес экспресс-почты:
<select id="select_id" name="select_name" class ="select_cls">
<option value="0">Пожалуйста, выберите</option>
<option value="1">Шаньси</option>
<option value="2">Шэньси</option>
<option value="3">Шаньдун</option>
<option value="4">Сычуань</option>
<option value="5">Хэбэй</option>
</select>Провинция_XXX_город_ XXX_улица
</label>
</body>
</html>
1. Справочный код
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-09-13
@author: Пекин-Хонге Группа связи QQ: 705269076
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга test-21-processing выберите раскрывающийся список
'''
# 3. Импортировать модули
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("C:/Users/DELL/Desktop/test/select.html")
page.wait_for_timeout(3000)
select = page.get_by_label("Адрес экспресс-почты:")
option = select.select_option("Шаньси")
print(option)
page.pause()
browser.close()
2. Запустите код
(1) Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
1. Справочный код
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-09-13
@author: Пекин-Хонге Группа связи QQ: 705269076
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга test-21-processing выберите раскрывающийся список
'''
# 3. Импортировать модули
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("C:/Users/DELL/Desktop/test/select.html")
page.wait_for_timeout(3000)
select = page.get_by_label("Адрес экспресс-почты:")
option = select.select_option(index=3)
print(option)
page.pause()
browser.close()
2. Запустите код
(1) Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
1. Справочный код
(1) Выберите элемент HTML.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>тестSelect</title>
<style type="text/css">
.button1 {
background-color: #f44336;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 28px;
margin-bottom: 100px;
text-decoration:none;
color: white;
}
#myAnchor
{
text-decoration:none;
color: white;
}
</style>
</head>
<body>
<button class="button1"><a id="myAnchor" href="https://www.cnblogs.com/du-hong/">Пекин-Хонге</a></button></br>
<label>Адрес экспресс-почты:
<select id="select_id" name="select_name" class ="select_cls">
<option value="0" label="ноль">Пожалуйста, выберите</option>
<option value="1" label="Первый">Шаньси</option>
<option value="2" label="второй">Шэньси</option>
<option value="3" label="третий">Шаньдун</option>
<option value="4" label="четвертый">Сычуань</option>
<option value="5" label="пятый">Хэбэй</option>
</select>Провинция_XXX_город_ XXX_улица
</label>
</body>
</html>
(2) Операция позиционирования
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-09-13
@author: Пекин-Хонге Группа связи QQ: 705269076
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга test-21-processing выберите раскрывающийся список
'''
# 3. Импортировать модули
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("C:/Users/DELL/Desktop/test/select.html")
page.wait_for_timeout(3000)
select = page.get_by_label("Адрес экспресс-почты:")
option = select.select_option(label="пятый")
print(option)
page.pause()
browser.close()
2. Запустите код
(1) Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>тестSelect</title>
<style type="text/css">
.button1 {
background-color: #f44336;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 28px;
margin-bottom: 100px;
text-decoration:none;
color: white;
}
#myAnchor
{
text-decoration:none;
color: white;
}
</style>
</head>
<body>
<button class="button1"><a id="myAnchor" href="https://www.cnblogs.com/du-hong/">Пекин-Хонге</a></button></br>
Адрес экспресс-почты:
<select id="select" name="select_name" class ="select_cls">
<option value="0" >Пожалуйста, выберите</option>
<option value="1" >Шаньси</option>
<option value="2" >Шэньси</option>
<option value="3" >Шаньдун</option>
<option value="4" >Сычуань</option>
<option value="5" >Хэбэй</option>
</select>Провинция_XXX_город_ XXX_улица
</body>
</html>
1. Справочный код
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-09-13
@author: Пекин-Хонге Группа связи QQ: 705269076
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга test-21-processing выберите раскрывающийся список
'''
# 3. Импортировать модули
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("C:/Users/DELL/Desktop/test/select.html")
page.wait_for_timeout(3000)
option = page.select_option("#select","3")
print(option)
page.pause()
browser.close()
2. Запустите код
(1) Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
1. Справочный код
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-09-13
@author: Пекин-Хонге Группа связи QQ: 705269076
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга test-21-processing выберите раскрывающийся список
'''
# 3. Импортировать модули
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("C:/Users/DELL/Desktop/test/select.html")
page.wait_for_timeout(3000)
option = page.select_option("#select",index=5)
print(option)
page.pause()
browser.close()
2. Запустите код
(1) Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
1. Справочный код
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2023-09-13
@author: Пекин-Хонге Группа связи QQ: 705269076
Паблик аккаунт: Пекин Хонге
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга test-21-processing выберите раскрывающийся список
'''
# 3. Импортировать модули
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("C:/Users/DELL/Desktop/test/select.html")
page.wait_for_timeout(3000)
option = page.select_option("#select","Шаньси")
print(option)
page.pause()
browser.close()
2. Запустите код
(1) Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вывод консоли будет таким, как показано ниже:
Хорошо, сегодня уже поздно, поэтому брат Хун объяснит и поделится здесь. Спасибо за ваше терпение при чтении, надеюсь, это будет вам полезно.
Хм, наконец-то вам понадобится немного времени, чтобы разобраться с ямой, которую выкопал для вас Брат Хун в предыдущей статье. Не знаю, заметили ли вы, что, поскольку в предыдущей статье вы запускали код запуска браузера в неинвариантном режиме, при повторном запуске браузера в режиме инкогнито всегда будет (иногда не сообщать об ошибке) следующая ошибка ) сообщать:
playwright._impl._api_types.Error: spawn UNKNOWN
Причина этой ошибки в том, что у драматурга не установлен браузер. Брат Хун удивлен. Среда уже давно настроена и установлена, но здесь сообщается об ошибке и она не устанавливается.
После долгих поисков я не смог найти причину. Брат Хонг напрямую решил проблему. Он удалил все каталоги, в которых ранее был установлен браузер, и выполнил следующую команду в командном окне Документов, чтобы переустановить его. решилось отлично.
playwright install
## или
python -m playwright install