概述 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

design\project\学习Playwright-分析图相关推荐

  1. 『Material Design 入门学习笔记』前言

    写在最前面的话 最开始我在毕业的时候做Android,当时还没到Android5.0,没有Material Design,当时的设计都是以立体仿3d效果为主.后来有了扁平化设计,我却开始了SDK各种功 ...

  2. Synopsys Design compiler 学习笔记(收藏)

    IC学习・成长加油站 LoveIC Synopsys Design compiler 学习笔记    design compiler流程 Design compiler工作流程大致分为四步: 1)Lo ...

  3. MATERIAL DESIGN的学习笔记

    编者按:这一年就快完了,你还没搞懂Material design吗?是嫌文档太长,还是觉得自己英文不好?都没关系,我们善良热情的@十萬個為什麽  帮同学们通读了一遍官方的设计指南,去糙取精,整理出这篇 ...

  4. 断点回归(regression discontinuity design)学习笔记

    本篇博文主要是对断点回归的一些学习和总结~ 学习材料如下: 1 断点回归设计RDD分类与操作案例 2 RDD断点回归, Stata程序百科全书式的宝典 3 断点回归设计的前沿研究现状, RDD 4 让 ...

  5. 【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得

    DDD做为软件设计方法于2004年提出,一直不温不火,最近几年突然火起来了,为啥呢?正所谓机会给有准备的人,因为微服务的流行,大家都跃跃欲试把传统单体软件转成微服务架构,但理论很丰满,现实很骨感,光是 ...

  6. Microsoft Project学习系列(一)

    最近在学习CMMI,顺便也学习一下Microsoft Project的,让理论和实际结合一下. 主要熟悉制定项目计划,管理项目进度.成本.资源方面. 1.熟悉Project操作环境,通过视图和报表了解 ...

  7. LTP(Linux Test Project)学习(一)——LTP介绍

    LTP(Linux Test Project)开源项目由SGI发起,IBM维护, 贡献者包括IBM, Cisco, Fujitsu, SUSE, Red Hat, Oracle公司等. LTP特点: ...

  8. ant design pro模板_Ant Design Pro 学习笔记

    学习笔记 摘要介绍 Ant Design Pro 是一个基于Ant Design搭建起来的模板项目.它提供了两个主要布局:BasicLayout.UserLayout,在布局基础上制作了20多个基础页 ...

  9. #react 之ant design Pro 学习研究#----启动项目

    2019独角兽企业重金招聘Python工程师标准>>> #首页 src/index.js import '@babel/polyfill'; import 'url-polyfill ...

最新文章

  1. gitee markdown 笔记_使用Gitee作为Markdown的图床
  2. python读取json配置文件_Python简单读取json文件功能示例
  3. flask创建mysql表_MySQL表不是使用Flask和PyMySQL创建的
  4. 【PTA天梯赛CCCC -2017决赛L2-3】图着色问题 (25 分)(图染色)
  5. python入门基础篇(三)序列切片,列表、元组推导式
  6. mysql的相关技术说明_MySQL 系统架构 说明
  7. 分享一下自己写的PHP函数
  8. 《数学建模算法与应用》第2版 司守奎 孙兆亮及其习题解答两本书的配套程序及数据
  9. android 原型图片,墨刀如何创建Android原型图?
  10. 使用老毛子在腾讯云DNSpod上实现DDNS
  11. 计算机两个用户怎么设置密码,电脑如何设置密码 电脑密码三个设置
  12. 看蘑菇街发展历程全面解析
  13. android 包命名不管你怎么命,千万不要用下面几个
  14. 旧显卡插上去使用黑屏,需要在BIOS中修改启动模式修改为CMS
  15. ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联
  16. 笔记本的屏幕能不能当作台式机的显示器
  17. 理解操作系统的sleep函数
  18. ZOJ ——3629 Treasure Hunt IV
  19. 掌握这些Java 后端面试题,20K妥妥的,400多人在学习
  20. 2012年百度实习生招聘-java开发

热门文章

  1. Python明星web框架Flask
  2. 读书心得——4点起床
  3. 空调遥控器调不到制热模式(☀)
  4. JAVA 通过POI实现插入图片
  5. 利用Scrapy框架爬取LOL皮肤站高清壁纸
  6. java怎么封禁玩家_java中如何踢人下线?封禁某个账号后使其会话立即掉线!
  7. Transformer课程 业务对话机器人 Python使用高级的生成器方法
  8. 关于SAP EWM看着一篇就够了(一)
  9. 微信公众号接入web服务器,asp.net Web API 接入微信公众平台验证服务器,接收微信发送的POST请求...
  10. 【ANSYS软件发展及学习准备】