Hello Playwright:(6)与元素交互

在上一节我们已经了解到如何定位到元素,那么接下来就可以与元素进行交互了。

ff628c97cbbcf3a3a893450dc39a6929.png

下面的例子都是以百度首页作为测试页面

输入文本

FillAsync方法用于模拟用户选中元素并输入文本,这会触发元素的 input 事件。该方法只适合<input>、<textarea>等可输入的元素。

例如,下面的代码在搜索框中输入文本:

await page.Locator("id=kw").FillAsync("MyIO Hello Playwright");

点击鼠标

ClickAsync方法用于模拟用户点击元素,同时会将元素滚动到浏览器当前可视范围内。

例如,点击搜索按钮:

await page.Locator("id=su").ClickAsync();

悬停鼠标

HoverAsync方法用于模拟用户将鼠标悬停在元素上,同时会将元素滚动到浏览器当前可视范围内。

例如,悬停鼠标在“设置”链接上弹出菜单:

await page.Locator("//*[@id=\"u\"]/a[2]").HoverAsync();

选中单选按钮

CheckAsync方法用于选中和取消选中复选框或单选按钮。

例如,在“搜索设置”窗口将“搜索历史记录”设为显示

await page.Locator("id=sh_1").CheckAsync();

最后整体交互效果如下图:

var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false, SlowMo = 1000, Channel="chrome", ChromiumSandbox=true  });var page = await browser.NewPageAsync();
await page.GotoAsync("https://www.baidu.com");await page.Locator("id=kw").FillAsync(Guid.NewGuid().ToString());await page.Locator("id=su").ClickAsync();await Task.Delay(2000);await page.Locator("//*[@id=\"u\"]/a[2]").HoverAsync();await page.Locator("//*[@id=\"u\"]/div/a[1]/span").ClickAsync();
await page.Locator("id=sh_1").CheckAsync();

5b5340d0ae736997019b8b1fc330427d.gif

添加微信号【MyIO666】,邀你加入技术交流群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言试题四十六之将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写一个…

【MATLAB统计分析与应用100例】案例007:matlab数据的极差归一化变换

文章目录 1. 调用rand函数产生一个10行,4列的随机矩阵,每列服从不同的均匀分布2. 调用rscore函数对x按列进行极差规格化变换, 返回变换后矩阵R,以及矩阵x各列的最小值构成的向量xmin,各列的极差构成的向量xrange1. 调用rand函数产生一个10行,4列的随机矩阵,每列服从不同…

十二、动态座位响应及用户订票《仿淘票票系统前后端完全制作(除支付外)》

一、动态座位设置及发布 首先打开在线编辑器进入我们的项目&#xff1a;https://editor.ivx.cn/ 上一节中已经完成了座位设置的准备&#xff0c;这一节咱们将完成座位设置及发布的功能。 咱们首先给有座位设置事件&#xff1a; 有座位的事件设置当点击后更改当前的内容为0即…

跨服务器 快速 导入数据表记录 Insert into SELECT

Use DataBaseName/*开启Ad Hoc Distributed Queries组件exec sp_configure show advanced options,1 reconfigure exec sp_configure Ad Hoc Distributed Queries,1 reconfigure*/Insert into tableName (col1&#xff0c;col2&#xff0c;col3&#xff0c;……) --字段不能含有…

C# 查询大型数据集

LINQ 语法非常好&#xff0c;但其作用是什么&#xff1f;我们只要查看源数组&#xff0c;就可以看出需要的结果&#xff0c;为什么要查询这种一眼就能看出结果的数据源呢&#xff1f;有时查询的结果不那么明显&#xff0c;在下面的示例中&#xff0c;就创建了一个非常大的数字数…

C语言试题四十七之程序定义了N×M的二维数组,并在主函数中自动赋值。请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 程序定义了…

第六章 三大消息摘要算法总结

6.1、MD5 推荐使用CC&#xff08;即Commons Codec&#xff09;实现虽然已被破解&#xff0c;但是仍旧广泛用于注册登录模块与验证下载的文件的完整性可以自己写一个注册登录模块&#xff1b;自己下载一个MD5加密的文件&#xff0c;然后通过之前编写的工具类&#xff08;或者使用…

一、博客首页搭建搭建《iVX低代码仿CSDN个人博客制作》

制作iVX 低代码项目需要进入在线IDE&#xff1a;https://editor.ivx.cn/ 一、头部导航栏思路参考 首先我们可以查看CSDN的博客首页&#xff0c;从中查看一下布局&#xff1a; 在以上首页中&#xff0c;我们可以得知其顶部为一个整行&#xff0c;这个行内容左侧为一个logo&am…

【MATLAB统计分析与应用100例】案例008:调用rand函数生成均匀分布随机数

文章目录 1. 生成随机数分布直方图2. 生成随机数矩阵,服从均匀分布1. 生成随机数分布直方图 x = rand(10) % 生成10行10列的随机数矩阵,其元素服从[0,1]上均匀分布 y = x(:)

linux samba服务器

本文转自wanglm51051CTO博客&#xff0c;原文链接&#xff1a; http://blog.51cto.com/studyit2016/1890282&#xff0c;如需转载请自行联系原作者

modernizer的意义

modernizer是一个js文件&#xff0c;会检查当前的浏览器支持什么特性&#xff0c;就在Html标签上添加什么类&#xff0c;然后如果不支持添加no-xxx类&#xff0c;这样&#xff0c;就可以针对两种情况写两种css。 http://blog.chinaunix.net/uid-21633169-id-4286857.html转载于…

拆分备份(还原)比较大的数据库为多个bak文件

工作中由于个别数据库比较大&#xff0c;生成的备份文件也比较大&#xff0c;不方便存储或者转移&#xff0c;可以将文件备份为多个小的bak文件。 比如一个200G的数据库&#xff0c;可以拆分备份为10个bak文件&#xff0c;则每个bak文件约在20G左右。 备份代码&#xff1a; /…

C语言试题四十八之该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写一个…

Rafy 框架 - 幽灵插件(假删除)

Rafy 框架又添新成员&#xff1a;幽灵插件。本文将解释该插件的场景、使用方法、原理。 场景 在开发各类数据库应用系统时&#xff0c;往往需要在删除数据时不是真正地删除数据&#xff0c;而只是把数据标识为‘已删除’状态。这些数据在业务逻辑上是已经完全删除、不可用的数据…

C#-Linq源码解析之Average

前言在Dotnet开发过程中&#xff0c;Average作为IEnumerable的扩展方法&#xff0c;十分常用。本文对Average方法的关键源码进行简要分析&#xff0c;以方便大家日后更好的使用该方法。使用Average 计算数值序列的平均值假如我们有这样的一个集合List<int> grades new L…

二、博客首页完成《iVX低代码仿CSDN个人博客制作》

制作iVX 低代码项目需要进入在线IDE&#xff1a;https://editor.ivx.cn/ 一、菜单思路参考及制作 在 CSDN 首页中的菜单部分为一串横排的内容&#xff0c;并且可以进行拖动&#xff1a; 首先咱们添加一个行&#xff0c;命名为菜单&#xff1a; 接着肯定是需要设置上下的内边…

【MATLAB统计分析与应用100例】案例009:创建一个RandStream类对象,调用其randn方法生成标准正态分布随机数

文章目录 1. 创建一个RandStream类对象s,其随机数生成器的算法为mlfg6331_64,初始种子为102. 调用对象s的randn方法生成10行10列的随机数矩阵x,其元素服从标准正态分布1. 创建一个RandStream类对象s,其随机数生成器的算法为’mlfg6331_64’,初始种子为10 % 对象s的randn方…

CentOS 安装NTFS-3G,让系统支持NTFS分区的方法

1、ntfs-3g依赖FUSE&#xff08;Filesystem in Userspace&#xff09; 先处理依赖 安装FUSE yum install fuse -y 2、下载并安装ntfs-3g &#xff08;先确定正确安装了rpmforge 套件&#xff0c;然后安装下列套件&#xff1a; yum install fuse fuse-ntfs-3g 若rpmforge的设置…

现在是2016-09-23,查询2个月后的月份和入职的月份相同的数据

select * from emp where to_char(hiredate,mm)to_char(add_months( sysdate,2),mm); 结果&#xff1a; 转载于:https://www.cnblogs.com/feng666666/p/5900182.html

Git之创建远程分支和删除远程分支

1、创建远程分支browser-1.8.0 在没有创造browser-1.8.0之前,我们先查看下所有分支 git branch -a 可以知道我们目前在browser-1.7.0分支,然后我们创建本地分支browser-1.8.0 git branch browser-1.8.0 再看下所有分支 git branch -a 然后我们再切换到分支browser-1.8.…