【python自动化】Playwright基础教程——Keyboard键盘

playwright模拟键盘操作

键盘事件提供了用于管理虚拟键盘的API,高级API是keyboard.type(),它使用的是原始字符再页面上生成对应的keydownkeypress / inputkeyup 事件。

模拟真实键盘操作进行更精细的控制可以使用keyboard.down()keyboard.up()keyboard.insert_text() 手动触发事件。

前文代码

「直接定位指定浏览器」

class Demo05:       def __init__(self):           """           使用playwright连接谷歌浏览器           :return:           """           self.playwright = sync_playwright().start()           # 连接已经打开的浏览器,找好端口           browser = self.playwright.chromium.connect_over_cdp("http://127.0.0.1:9223")           self.default_context = browser.contexts[0]           self.page = self.default_context.pages[0]   

「启动新的浏览器」

class Demo06:       def __init__(self, url):           playwright = sync_playwright().start()           browser = playwright.chromium.launch(headless=False)           context = browser.new_context()           self.page = context.new_page()           self.page.goto(url)                        if __name__ == '__main__':       mwj = Demo05(url="指定的url")       mwj.Locator_testid()   

官方示列一

这里官网提供了一个示列:(我加了非常详细的注释)

# 模拟键盘输入 Hello World!   page.keyboard.type("Hello World!")   # 模拟键盘按下 ← 建   page.keyboard.press("ArrowLeft")   # 模拟键盘按下 Shift 键   page.keyboard.down("Shift")   # 模拟键盘按下 6次 ← 键   for i in range(6):       page.keyboard.press("ArrowLeft")   # 模拟键盘释放 Shift 键   page.keyboard.up("Shift")   # 模拟键盘按下 Backspace 键   page.keyboard.press("Backspace")   # 最后呈现的整体效果就是   # 输出Hello World!选中了 World 并且删除,最后剩下 Hello!   # 大家可以自己用按键按照上面的中文操作一遍,就知道代码的意思啦。   

官方示列二

按出大写的A。

page.keyboard.press("Shift+KeyA")   # or   page.keyboard.press("Shift+A")   

官方示列三

使用键盘触发全选。

# 在windows或者linux系统使用   page.keyboard.press("Control+A")   # 在MacOS系统使用   page.keyboard.press("Meta+A")   

按下按键down

「使用方法」

keyboard.down(key)   

「key参数」

dispatch一个keydown事件。

key可以指定预期的keyboardEvent.key(https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key)值或单个字符生成的文本。

可以找到key值的超集(https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values)。

键的例子如下:

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

还支持以下修改快捷方式:ShiftControlAltMetaShiftLeft

按下Shift将键入大写字母key对应的文本。

如果key是单个字符,它是区分大小写的,因此值aA将生成不同的值文本。

如果key是修饰键、ShiftMetaControlAlt,则会发送后续的按键修饰,要释放修改键,使用keyboard.up()

按键按下一次后,后续对keyboard.down()的调用将会重复设置为true。要解开key,需要使用keyboard.up()

**「注意」**修改键会影响keyboard.down。按下Shift将以大写字母输入文本。

插入文本insert_text

只是input时间,不会触发键盘的down、up事件

「使用方法」

page.keyboard.insert_text("嗨")   

按压操作press

在大多数情况下,应该使用locator.press()

可以理解为**「keyboard.down() 和 keyboard.up() 的快捷方式。」**

「使用方法」

page.keyboard.press(key)   

这里的key和down里面的可以一样,不过这个key可以是组合技。

「官方示列」

page = browser.new_page()   page.goto("https://keycode.info")   page.keyboard.press("a")   page.screenshot(path="a.png")   page.keyboard.press("ArrowLeft")   page.screenshot(path="arrow_left.png")   page.keyboard.press("Shift+O")   page.screenshot(path="o.png")   browser.close()   

官方这个网址很nice哦

输入操作type

官方推荐使用locator.fill(),这在之前的文章中有讲,这里不再赘述。

「官方示列」

page.keyboard.type("Hello") # 瞬间输入   page.keyboard.type("World", delay=100) # 模拟用户,每个字符间隔100毫秒进行输入   

需要注意的是,修饰键在这个方法里面不起作用,比如按住Shift再输字母不会输入大写字母。

释放(抬起)按键up

一般和按下按键down一起前后使用,对keyboard.down(key)进行释放。

「使用方法」

keyboard.up(key)   

「示列」

# 按下 Shift 键   keyboard.down("Shift")   # 抬起释放 Shift 键   keyboard.up("Shift")   

键盘操作测试网站

https://cps-check.com/cn/test-keyboard

---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 PlaywrightPython 可以方便地进行自动化测试。以下是一个简单示例,演示如何使用 Playwright 进行浏览器自动化测试: 1. 安装 PlaywrightPython: 在命令行中运行以下命令来安装 PlaywrightPython: ``` pip install playwright ``` 2. 初始化 Playwright: 在命令行中运行以下命令来初始化 Playwright: ``` playwright install ``` 3. 编写测试脚本: 创建一个 Python 脚本,并导入所需的模块和类: ```python from playwright.sync_api import sync_playwright def test_example(): with sync_playwright() as playwright: browser = playwright.chromium.launch() context = browser.new_context() page = context.new_page() # 打开网页 page.goto('https://www.example.com') # 在文本框中输入内容 page.fill('input[name="q"]', 'Playwright') # 点击搜索按钮 page.click('button[type="submit"]') # 等待搜索结果加载完毕 page.wait_for_load_state() # 断言页面标题是否包含关键字 assert 'Playwright' in page.title() # 关闭浏览器 context.close() browser.close() if __name__ == '__main__': test_example() ``` 在上述代码中,我们使用 Playwright 启动 Chromium 浏览器,创建一个新的页面,并在页面上执行一系列操作,包括打开网页、填充文本框、点击按钮、等待加载和断言页面标题。最后关闭浏览器。 4. 运行测试脚本: 在命令行中运行以下命令来执行测试脚本: ``` python test_script.py ``` 这将启动浏览器并执行测试脚本中的操作。如果一切正常,你将看到测试结果输出。 这只是一个简单的示例,Playwright 还提供了更多功能和 API,例如处理表单、截图、模拟用户行为等。你可以查阅 Playwright 的官方文档以了解更多详细信息和示例代码。希望这个示例能帮助你入门 PlaywrightPython 自动化测试!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值