微软自动化神器【Playwright】(六)之 模拟键盘操作

createh51周前 (04-10)技术教程12

前言:

今天一早起床,就一直太阳穴疼,吃了四片去痛片已经无效,真的是疼的直恶心。

如果说学习或者写文章,能够缓解头疼的话,那我想说,我还能坚持一会.....

很久没更新这系列的文章了,那么我们将Playwright+Java系列延续,带上自己的那份快乐开始吧!

想系统学习请参考:Playwright+Java入门

Action系列API

在《微软出品自动化神器【Playwright+Java】系列(五) 之 常见点击事件操作》,这篇文章已经提及了一些,今天这部书属于下集,下面将针对这部分API进行距离讲解。

1、模拟键盘输入字符操作

  • 语法: Locator.type(value)
  • 使用场景: 模拟键盘输入字符

「注意:」 大多数时候,Page.fill()可以满足要求。如不能输入时,可以考虑键入字符操作。

示例代码如下:

@Test
public void testInput() {
    page.locator("#user").type("公众号:软件测试君");
}

2、单元素键盘事件操作

  • 语法:Locator.press(键盘事件)
  • 使用场景:定位元素并产生单个键盘事件

它接受在键盘事件的keyboardEvent.key属性中发出的逻辑键名称:

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

「注意:」 需要指定大写字母A以Shift-A生成大写字符。Shift-a产生一个小写的,就好像你用CapsLock切换一样

示例代码如下:

@Test
public void testkeyboardEvent() {
    page.locator("#user").type("公众号:软件测试君");
    //模拟Ctrl+A 全选操作
    page.locator("#user").press("Control+A");
    //模拟回车操作 == > 跳转到百度页面
    page.locator(".baidu").press("Enter");
    pause(3);
}

3、上传文件

  • 语法:Locator.setInputFiles()
  • 使用场景:上传一个或多个文件

示例代码如下:

@Test
public void testUpload() {
    //上传一个文件
    page.locator("#load").setInputFiles(Paths.get("demo.md"));
    // 上传多个文件
    page.locator("#load").setInputFiles(new Path[]{Paths.get("pom.xml"), Paths.get("demo.md")});
}

4、聚焦元素

  • 语法:Locator.focus()
  • 使用场景:聚焦效果显示,真的很好看,哈哈

示例代码如下:

@Test
public void testFocus(){
    page.locator("#user").focus();
    pause(3);
}

效果如下:

image.png

5、拖拽操作

  • 语法:Locator.dragTo()
  • 使用场景:常见元素拖动操作

示例代码如下:

@Test
public void testDrag(){
    page.navigate("http://localhost:8080/drag.html");
    page.locator("#A").dragTo(page.locator(".container ul:nth-of-type(2)"));
    pause(3);
}

6、悬浮操作

  • 语法:Locator.hover()、Mouse.down()、Mouse.move()和Mouse.up()
  • 使用场景:常见元素悬浮操作

示例代码如下:

@Test
public void testHover() {
    page.locator("#action").hover();
    pause(3);
}

写在最后

今天这篇文章更新难度系数很大,因为官方文档都是英文的,我是真的看不懂,只能借助谷歌浏览器的右键的翻译成中文来理解学习。

恰巧今天谷歌浏览器就像跟我抗议一样,我右键后,提示我无法翻译此网页,结果我搞这个报错整了近一个多小时,感兴趣的同学可以自己去参考解决方案。

把这个报错搞好了,「结果定位插件又不能用了,真的好气」,经过一番折腾,定位插件也搞好了,终于可以接着学习和更文了。

不知道,在读文章的你有没有遇到过,要做什么事,总会有些小插曲,让你感到既开心又无奈呢?

「感恩每次遇到的困难,都让我赚到了一笔经验!」

我是测试君,关于后面文章的更新,我也会继续,更多请继续关注我!

相关文章

将键盘和鼠标「戴在手上」,这样就能隔空输入了

作者:无脑前言键盘和鼠标几乎每天都在用,我们好像已经离不开它们了,这些已经让我们习惯了的工具,就像那些「靠谱的老办法」,但要想拥有更高的效率,就需要来尝试一些特别的新工具才行。从手机键盘到触摸操作的体...

磁盘键盘鼠标设备管理

摘要设备控制器IO控制方式设备驱动程序存储系统IO分层设备控制器为什么需要设备控制器?电脑可以外接很多设备,如键盘、鼠标、硬盘、显示器、网卡等,每个设备的用法和功能不同,操作系统为了对这些输入输出设备...

初识 Java 语言

什么是Java语言?Java语言是美国sun公司(Stanford University Network),在1995年推出的高级编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下...

用java正则表达式对电话号码判断

正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等String类提供几个特殊方法:boolean matches(String regex):作用判断该字符串是否匹配指定的...

【基础】JAVA的JDK安装使用(收藏)

本文介绍在工作中常用的技能功能,具体得参考最新软件为主,建议可以打开软件对比,具体功能得日常使用中常用才会牢记。一些常用技能,分享如下(后续继续分享):1、检查JDK是否已经配置环境变量(1)、检查J...