目录
介绍
Playwright 可以与 HTML 输入元素(如文本输入框、复选框、单选按钮、选择选项)进行交互,也可以执行鼠标点击、输入字符、按键和快捷键操作,以及上传文件和聚焦元素等操作。
文本输入
使用 locator.fill() 是填写表单字段的最简单方法。它会将焦点置于元素上,并使用输入的文本触发一个输入事件。这个方法适用于 <input>
、<textarea>
和 [contenteditable]
元素。
# Sync
# Text input
page.get_by_role("textbox").fill("Peter")
# Date input
page.get_by_label("Birth date").fill("2020-02-02")
# Time input
page.get_by_label("Appointment time").fill("13:15")
# Local datetime input
page.get_by_label("Local time").fill("2020-03-02T05:15")
# Async
# Text input
await page.get_by_role("textbox").fill("Peter")
# Date input
await page.get_by_label("Birth date").fill("2020-02-02")
# Time input
await page.get_by_label("Appointment time").fill("13:15")
# Local datetime input
await page.get_by_label("Local time").fill("2020-03-02T05:15")
复选框和单选按钮
使用 locator.set_checked() 是检查和取消检查复选框或单选按钮的最简单方法。这个方法可以用于 input[type=checkbox]
、input[type=radio]
和 [role=checkbox]
元素。
检查复选框
page.get_by_label('我同意上述条款').check()
断言选中状态
expect(page.get_by_label('订阅新闻通讯')).to_be_checked()
选择单选按钮
page.get_by_label('XL').check()
选择选项
使用 locator.select_option()方法在<select>
元素中选择一个或多个选项。你可以通过指定选项的值(value)或标签(label)来进行选择。支持同时选择多个选项。
单个选项选择,匹配值或标签
按值选择:如果你知道选项的值,可以直接使用它来选择对应的选项。
page.get_by_label('选择一个颜色').select_option('blue')
找到标签为“选择一个颜色”的<select>
元素,并选择值为“blue”的选项。
按标签选择:如果你知道选项的显示文本(即标签),可以通过label
参数来选择对应的选项。
page.get_by_label('选择一个颜色').select_option(label='Blue')
注意,这里的标签('Blue')是大小写敏感的,确保它与页面上显示的文本完全一致。
多个选项选择
当<select>
元素允许多选(即具有multiple
属性)时,你可以一次性选择多个选项。
page.get_by_label('选择多个颜色').select_option(['red', 'green', 'blue'])
鼠标点击
执行简单的鼠标点击操作。
通用点击
page.get_by_rol