详解playwright 官方Javascript demo(适合小白)

如果大家刚上手playwright,并看到了Javascript脚本的官方demo,代码如下:

const { webkit } = require('playwright');(async () => {const browser = await webkit.launch();const page = await browser.newPage();await page.goto('http://whatsmyuseragent.org/');await page.screenshot({ path: `example.png` });await browser.close();
})();

看到这里很多初涉playwright and 只是简单了解js语法的小伙伴,可能会感到很不爽,因为完全不懂这段js代码的含义,本文我就带大家详细梳理上述js语法的使用细节!!

使用require进行引入

在JavaScript的解构赋值中,花括号 {} 用于指定要从模块或对象中提取哪些属性。对于 const { webkit } = require('playwright'); 这句代码表示只引用webkit这一部分。
如果去掉花括号,会得到一个指向整个playwright模块的引用。执行脚本将会报错:TypeError: webkit.launch is not a function

在下面这个例子中
const { chromium, firefox, webkit } = require('playwright');

我们可以同时从playwright模块中提取了chromium、firefox和webkit,并将它们分别赋值给了三个不同的常量

异步的箭头函数


(async () => { ... }): 这部分定义了一个异步的箭头函数。
(): 这部分立即执行了上面定义的箭头函数。
由于这是一个异步操作,使用 async/await 可以确保这些操作按预期顺序执行,而不会阻塞主线程。

playwright api分析


整个代码的解释如下:
使用 webkit.launch() 启动一个浏览器实例。
使用 browser.newPage() 创建一个新的浏览器页面。
使用 page.goto() 导航到指定的 URL。
使用 page.screenshot() 为页面截图并保存到本地。
最后,使用 browser.close() 关闭浏览器实例。

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

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

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

相关文章

开放式耳机怎么选?五大市场热卖爆款推荐!

近年来,开放式耳机风潮席卷市场,各大知名品牌纷纷推出新品,以满足消费者的需求。相较于传统的入耳式耳机,开放式耳机凭借其独特的佩戴方式,受到了广大消费者的热烈追捧。它不仅有效避免了长时间佩戴带来的耳道不透气、…

【数据结构】栈的实现

👑个人主页:啊Q闻 🎇收录专栏:《数据结构》 🎉前路漫漫亦灿灿 前言 栈是一种特殊的线性表,我们在有了顺序表和链表的知识的基础上,再来学习栈,掌握起来就更轻松了…

所有可能的真二叉树(Lc894)——记忆化搜索

给你一个整数 n ,请你找出所有可能含 n 个节点的 真二叉树 ,并以列表形式返回。答案中每棵树的每个节点都必须符合 Node.val 0 。 答案的每个元素都是一棵真二叉树的根节点。你可以按 任意顺序 返回最终的真二叉树列表。 真二叉树 是一类二叉树&#…

【24年物联网华为杯】赛题分析与初步计划

赛事介绍 官网链接:2024 年全国大学生物联网设计竞赛 (sjtu.edu.cn) 含金量:属于A类赛事 (注意:很多搜索结果的序号是按照选入时间排列的,与含金量无关,华为杯是23年选入的) Kimi Chat: 全国…

开源模型应用落地-LangChain试炼-CPU调用QWen1.5(一)

一、前言 尽管现在的大语言模型已经非常强大,可以解决许多问题,但在处理复杂情况时,仍然需要进行多个步骤或整合不同的流程才能达到最终的目标。然而,现在可以利用langchain来使得模型的应用变得更加直接和简单。 通过langchain框…

【学习笔记十二】EWM上架仓位确定逻辑及操作演示

一、前言 关于EWM上架仓位确定的过程,我在【学习笔记十一】EWM上架目标仓位确定过程及配置-CSDN博客中讲到了 EWM根据仓库类型(storage type)、仓库分区(storage section)和上架策略(putaway strategies&…

机器学习算法快速入门

文章目录 0.简介1.常用术语1) 模型2) 数据集3) 样本&特征4) 向量5) 矩阵6)假设函数&损失函数7)拟合&过拟合&欠拟合 2.线性回归3.梯度下降求极值4.Logistic回归算法(分类问题)5.KNN最邻近分类算法6.朴素贝叶斯分类算法7.决策树…

SAP 技巧篇:解决下拉菜单不显示前缀编码问题

事务代码 BP创建主数据选择组时,组前面不显示英文分组,或者其他界面不显示对应英文分组” 01 — 背景需求 BP等事务代码进来不显示前面系统英文分组 02 — 实现 返回SAP GUI找到选项>可视化1>控件全部打钩 先打钩:在下拉列表内显示…

Golang | Leetcode Golang题解之第29题两数相除

题目: 题解: func divide(dividend, divisor int) int {if dividend math.MinInt32 { // 考虑被除数为最小值的情况if divisor 1 {return math.MinInt32}if divisor -1 {return math.MaxInt32}}if divisor math.MinInt32 { // 考虑除数为最小值的情…

汽车抗疲劳驾驶测试铸铁试验底座技术要求有哪些

铸铁平台试验台底座的主要技术参数要求 1、 试验台底座设计制造符合JB/T794-1999《铸铁平板》标准。 2、 试验铁底板及所有附件的计量单位全部采用 单位(SI)标准。 3、铸铁平台平板材质:用细密的灰口铸铁HT250或HT200,强度符…

U盘怎么加密?U盘加密的方法有哪些?

U盘作为一种便携式的存储设备,广泛应用于日常生活和工作中。但由于其易于携带和使用的特性,U盘中的数据也面临着被未经授权访问的风险。因此,对U盘进行加密成为了保护数据安全的重要措施。本文将介绍几种常见的U盘加密方法,帮助用…

【C++学习】C++4种类型转换详解

这里写目录标题 🚀C语言中的类型转换🚀为什么C需要四种类型转换🚀C强制类型转换🚀static_cast🚀**reinterpret_cast**🚀const_cast与volatile🚀dynamic_cast 🚀C语言中的类型转换 在…

腾讯EdgeOne产品测评体验—Web服务全能一体化服务,主打一步到位

前言 现在网络Web攻击真的防不胜防啊,相信有很多独狼开发者自己建站,租个云服务器,一部署自己的服务,每隔一段时间内测和网站总有一个要崩。自己感觉难受不说,网站稍微有点要出头的时候,数不清的访问攻击就…

【让自己的U盘变得与众不同】

文章目录 今日座右铭:在心里种花,人生才不会荒芜。 文章目录 文章目录前言一、准备ICO图标二、插入U盘1.点击新建文本文档-输入代码-点击保存2.将代码文本文档名称修改为autorun.inf在这里插入图片描述3.将图标及代码文本文档放入U盘中在这里插入图片描述…

【从浅学到熟知Linux】进程控制上篇=>进程创建、进程终止与进程等待(含_exit与exit的区别、fork函数详解、wait与waitpid详解)

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 🎯每天努力一点点,技术变化看得见 文章目录 进程创建fork函数写时拷贝 进程退出进程退出操作系统做了什么?进程退出场景进程退出的常见方法…

linux系统USB/IP远程共享USB设备 —— 筑梦之路

概述 USB/IP 是一个开源项目,已合入 Kernel,在 Linux 环境下可以通过使用 USB/IP 远程共享 USB 设备。 USB Client:使用USB的终端,将server共享的usb设备挂载到本地。 USB Server:分享本地的usb设备至远程。 架构原理…

归并排序详解(附代码)

归并排序 数据科学家每天都在处理算法。 然而,数据科学学科作为一个整体已经发展成为一个不涉及复杂算法实现的角色。 尽管如此,从业者仍然可以从建立对算法的理解和知识库中受益。 在本文中,对排序算法归并排序进行了介绍、解释、评估和实…

vue3从精通到入门4:diff算法的实现

Vue 3 的 diff 算法相较于 Vue 2 有了一些改进和优化,主要是为了应对更复杂的组件结构和更高的性能需求。 以下是 Vue 3 diff 算法在处理列表更新时的大致步骤: 头头比较:首先,比较新旧列表的头节点(即第一个节点&…

《Stable Diffusion AI绘画宝典:从入门到精通,解锁创意新境界》

前沿 在数字化浪潮席卷全球的时代,人工智能以其惊人的创造力和创新性引领着科技新风尚。党的二十大报告明确提出了“实施科教兴国战略,强化现代化建设人才支撑”的宏伟蓝图,展现了我国在新动能、新优势方面的坚定决心和强大气魄。在这个大背…

【Linux】进程的优先级环境变量

个人主页 : zxctscl 如有转载请先通知 文章目录 1. 前言2. 进程的优先级2.1 什么是优先级2.2 为什么要有优先级2.3 优先级的查看方式2.4 对优先级调整 3. 命令行参数4. 环境变量4.1 环境变量与配置文件4.1.1 环境变量初步介绍4.1.2 配置文件 4.2 更多环境变量4.3 整…