python+playwright 元素操作示例代码

 更新时间:2023年10月07日 15:56:46   作者:keena_jiao  
Playwright 可以与 HTML 输入元素交互,例如文本输入、复选框、单选按钮、选择选项、鼠标单击、键入字符、键和快捷方式以及上传文件和焦点元素,这篇文章主要介绍了python+playwright 元素操作,需要的朋友可以参考下

Playwright 可以与 HTML 输入元素交互,例如文本输入、复选框、单选按钮、选择选项、鼠标单击、键入字符、键和快捷方式以及上传文件和焦点元素。

fill() 输入文字

使用 locator.fill() 是填写表单字段的最简单方法。它聚焦元素并input使用输入的文本触发事件。它适用于 <input> , <textarea> [contenteditable] 元素。

同步示例

# Text 文本框输入
page.get_by_role("textbox").fill("Peter")
# 根据label 定位 Date 日期输入
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")

异步示例

# 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")

鼠标点击 click()

# Generic click
page.get_by_role("button").click()
# Double click
page.get_by_text("Item").dblclick()
# Right click
page.get_by_text("Item").click(button="right")
# Shift + click
page.get_by_text("Item").click(modifiers=["Shift"])
# Hover over element
page.get_by_text("Item").hover()
# Click the top left corner
page.get_by_text("Item").click(position={ "x": 0, "y": 0})

文件上传

可以使用locator.set_input_files()方法选择要上传的输入文件。它期望第一个参数指向类型为 的输入元素"file"。数组中可以传递多个文件。如果某些文件路径是相对的,则它们将相对于当前工作目录进行解析。空数组清除所选文件。

# Select one file
page.get_by_label("Upload file").set_input_files('myfile.pdf')
# Select multiple files
page.get_by_label("Upload files").set_input_files(['file1.txt', 'file2.txt'])
# Remove all the selected files
page.get_by_label("Upload file").set_input_files([])
# Upload buffer from memory
page.get_by_label("Upload file").set_input_files(
    files=[
        {"name": "test.txt", "mimeType": "text/plain", "buffer": b"this is a test"}
    ],
)

select 下拉框

# 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'])

复选框和单选

# Check the checkbox
page.get_by_label('I agree to the terms above').check()
# Assert the checked state
assert page.get_by_label('Subscribe to newsletter').is_checked() is True
# Select the radio button
page.get_by_label('XL').check()

focus()聚焦给定元素

page.get_by_label('password').focus()

drag_to 拖动元素

此方法将:

  • 将鼠标悬停在要拖动的元素上。
  • 按鼠标左键。
  • 将鼠标移动到将接收放置的元素。
  • 松开鼠标左键。
page.locator("#item-to-be-dragged").drag_to(page.locator("#item-to-drop-at"))

到此这篇关于python+playwright 元素操作的文章就介绍到这了,更多相关python playwright 元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python调用Rust的5种方法的实现小结

    Python调用Rust的5种方法的实现小结

    本文主要介绍了Python调用Rust的5种方法的实现小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-11-11
  • 关于python类SortedList详解

    关于python类SortedList详解

    这篇文章主要介绍了关于python类SortedList详解,可以帮大家巩固一下python类的基础知识,有需要的朋友可以借鉴参考下,希望可以对广大读者有所帮助
    2021-09-09
  • python matplotlib中的subplot函数使用详解

    python matplotlib中的subplot函数使用详解

    今天小编就为大家分享一篇python matplotlib中的subplot函数使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python中uuid模块实例浅析

    python中uuid模块实例浅析

    在本篇文章里小编给大家整理了一篇关于python中uuid模块实例浅析内容,有需要的朋友们可以学习下。
    2020-12-12
  • Python实现合并两个列表的方法分析

    Python实现合并两个列表的方法分析

    这篇文章主要介绍了Python实现合并两个列表的方法,结合实例形式对比分析了常见的Python列表合并操作技巧,需要的朋友可以参考下
    2018-05-05
  • Python学习笔记之Break和Continue用法分析

    Python学习笔记之Break和Continue用法分析

    这篇文章主要介绍了Python学习笔记之Break和Continue用法,结合实例形式分析了Python中Break和Continue的功能、使用方法、区别及相关操作注意事项,需要的朋友可以参考下
    2019-08-08
  • Django用内置方法实现简单搜索功能的方法

    Django用内置方法实现简单搜索功能的方法

    这篇文章主要介绍了Django用内置方法实现简单搜索功能的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python爬取网站数据保存使用的方法

    python爬取网站数据保存使用的方法

    这篇文章主要介绍了使用Python从网上爬取特定属性数据保存的方法,其中解决了编码问题和如何使用正则匹配数据的方法,详情看下文
    2013-11-11
  • Django中外键使用总结

    Django中外键使用总结

    本文主要介绍了Django中外键使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Python 实现微信自动回复的方法

    Python 实现微信自动回复的方法

    这篇文章主要介绍了Python 实现微信自动回复的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-09-09

最新评论