design\project\学习Playwright-分析图

概述 Vision

今年博主心里不开心,于是决定写一篇博客,聊表无聊之情。

Playwright 是一个浏览器自动化 Node 库。
  • 它提供一个简单的 API,它实现了跨浏览器的网页自动化,是永远免费,功能强大,可靠和快速高效的。
Playwright 是一个自动化测试 Node 库
  • 通过消除不稳定性、提高执行速度和对浏览器深度交互来改进自动化的 UI 测试。

所以,其实博主一直都想要一个这样子的框架啊。博主想要个爬虫,将爬取到的信息发送给一个智能机器人,每天只爬亲们一次,机器人如果回复 OK,然后直接把信息发我手机里头那种 ㄟ( ▔, ▔ )ㄏ

  1. Apache Nutch 是一款优秀的 Java 爬虫。这个不是我想要的,我希望对浏览器执行精确操控,最关键的是,我不会!
  2. PySpider 是一个简便、高效 的、且提供包括:Web
    UI,去重,多线程,错误重试,结果监控,javascript渲染等功能。博主试过,还支持登录。是个非常不错的选择。但是这个玩意儿部署到服务器上?额!请问您愿意将您的淘宝或者支付宝密码存储到我的网站上么?啥?那安装到你PC 机上,听我的,先安装 阿卡多瓦,然后是…最关键的问题,我测试了两次,好像被黑了!而且二次开发,我不会!
  3. 有一个基于 Apache mina 做的基于 xml 的生产级爬虫(以前开源)。登录需要自己实现,其他功能也需要扩展!
  4. selenium-java-robot 允许在浏览器中运行 JavaScripts
    脚本在操作系统级别生成键盘和鼠标事件的工具,特别是用于自动化测试的工具。不错,可以操控 selenium 浏览器。开发语言是 Java,但是,调试了一圈,没有高级的简单的 API。我!好!像!没!空!

还试过许多别的东西,要是有一个 selenium-java-robot 一样的东西,又有一个高级的,简单的 API,那就完美了。有!Playwright!博主最看重的是这几个功能

  1. 这个框架,最好,额,并能监控网站的更新。栗如:能帮我买口罩?
  2. 还能安利给做自动化测试的同学,戳顿饭,美滋滋。栗如:能把妹?
  3. 需要能从多个异构的网站中获得我想要的信息。
  4. 要让智能机器人判断信息是否是我想要的,那需要精准的导航,和对浏览器的精确的操控,不能有冗余信息。栗如:帮我监控各个站上的关于战斗的新番?(先去豆瓣看评分,然后匹配语义关键字,最后最好有个图像识别,主角要好看的才推荐给我?!!!)
  5. 想象下,如果脚本泛滥。这就像,大家都有脚本。我心里很难受,我也要脚本!!!这个框架,脚本是基于 Node的,使用说明书写的贼缺德,怎么使用写在最后,3000行左右的英文啊,相信不是所有人都像我一样,有耐心看下去。也就是说,应该不会人人都会的吧。
    无

功能分析

该项目已页面为中心,共有以下三个大的模块

  • 操作打开页面的浏览器
  • 操作页面
  • 操作页面元素
  • 部分功能未写完成……未完待续
操作打开页面的浏览器

Playwright 支持多个浏览器(谷歌、IE、火狐),模拟多种设备上的显示效果,支持连接到谷歌浏览器,支持浏览器后端服务,
在这里插入图片描述

操作页面

支持测试相关的页面覆盖率,页内埋点,无障碍设备等,支持页面请求拦截,支持页面回退,前进,等浏览器相关操作,支持常见页面的元素hover、焦点、单击、双击、三击、滚动、输入的调用
在这里插入图片描述

操作页面元素

支持页内选择器,将页面的 DOM 封装成可操作的句柄。对鼠标键盘事件的支持
在这里插入图片描述

博主对官方文档进行了翻译,有意者可以留下邮箱索取

经博主测试,远程浏览器功能为v0.11.0 新加入的api,旧版本无法使用。
v 0.9.0在这里插入图片描述
v 0.11.1在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012296499/article/details/104448940