随笔 - 44  文章 - 0  评论 - 2  阅读 - 53295 

1、输入文字(fill)

适用于:<input>,<textarea>[contenteditable],其他类型的会报错,page、element、frame都可以使用fill方法

复制代码
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False,slow_mo=1000)
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    #页面直接调用fill方法
    page.fill("#kw", "playwright") #向百度搜索框输入playwright
    #元素调用fill方法 
    element_handle = page.query_selector("#kw")
    element_handle.fill("playwright") #向百度搜索框输入playwright
复制代码

 

2、模拟键盘挨个输入字符(type)

我们也可以在type方法中增加delay参数,设置每个字符之间输入的延迟。page、element、frame都可以使用type方法。不适用于ctrl、enter等特殊键

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False,slow_mo=1000)
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    page.type("#kw", "哈哈哈")

3、模拟键盘按键操作(press)

模拟键盘上的每个按键,也支持Control+c等组合按键,不支持连续按键(例如先按a、再按b)

Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape,
ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight,
ArrowUp, F1 - F12, Digit0 - Digit9, KeyA - KeyZ, etc.

复制代码
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
browser = p.chromium.launch(headless=False,slow_mo=1000)
page = browser.new_page()
page.goto("https://www.baidu.com")

page.type("#kw", "enter")#模拟键盘挨个输入字符
page.press("#kw", "Control+a") #模拟ctrl+a键
page.press("#kw", "Control+x")
复制代码

4、聚焦到某个元素(focus)

page.focus('元素')

5、鼠标点击(click)

page.click("元素")
selector参数:指定元素
button:右击、左击、中建  "left", "middle", "right",默认左
click_count:点击次数

6、鼠标双击(dbclick)

page.dbclick("元素")

 

7、鼠标悬浮(hover)

page.hover('#item')

 

8、操作复选框和单选框(check、uncheck)

适用于input[type=checkbox]input[type=radio][role=checkbox]label与复选框或单选按钮相关联

复制代码
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False,slow_mo=1000)
    context = browser.new_context()
    page = context.new_page()
    page.goto('https://passport.baidu.com/v2/?login') #进入百度的登录页面

    with context.expect_page() as new_page_info:
        page.click("#TANGRAM__PSP_3__regLink")#点击我要注册
    new_page = new_page_info.value
    new_page.check("#TANGRAM__PSP_4__isAgree") #选择同意协议
复制代码

 

 

 

9、操作复选框和单选框(select_option)

适用于<select>元素中选择一个或多个选项

 

参考链接:https://playwright.dev/python/docs/input

 

 

posted on   木木-林  阅读(2674)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示