lord
非常火狐
非常火狐
  • UID6208
  • 注册日期2005-05-21
  • 最后登录2024-03-27
  • 发帖数634
  • 经验81枚
  • 威望0点
  • 贡献值12点
  • 好评度3点
  • 社区居民
  • 忠实会员
阅读:4207回复:15

firefox,chrome将支持Headless 模式

楼主#
更多 发布于:2017-04-20 08:37
流行浏览器 Firefox 已准备提供 Headless 模式。Chrome 也透露了 Headless 模式

Headless 提供一种无 GUI 的纯浏览器环境,对于 Web 应用和网页的自动化测试非常有用。在 Chrome 未提供原生 Headless 模式前,Web 开发者可以使用 PhantomJS 等第三方 Headless 浏览器。现在官方准备提供 Headless了,PhantomJS 维护者 Vitaly Slobodin 随即在邮件列表上宣布辞职
心想事成,人生如梦
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-25
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2017-04-20 11:28
servo 预览版就是 无ui
Firefox More than meets your experience
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
2楼#
发布于:2018-11-17 21:38
挖掘一下,有没有人实践这个headless模式?
感觉无论自动化测试还是封装一些页面应用都很有用
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
3楼#
发布于:2018-11-29 01:15
firefox_userA:挖掘一下,有没有人实践这个headless模式?
感觉无论自动化测试还是封装一些页面应用都很有用
回到原帖
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode
Headless mode is a very useful way to run Firefox. Just as it might sound, Firefox is run as normal, minus any visible UI components visible. Though not so useful for surfing the web, it comes into its own with automated testing.

本来是用来跑自动化测试的
只不过之后被人发现了在没有桌面环境的远程服务器上用无头模式挂机这类歪门邪道
封装页面应用是指?
xoferiF
热心会员
热心会员
  • UID6559
  • 注册日期2005-06-05
  • 最后登录2020-04-24
  • 发帖数418
  • 经验24枚
  • 威望0点
  • 贡献值4点
  • 好评度1点
  • 社区居民
  • 忠实会员
4楼#
发布于:2018-11-29 15:36
做自动化测试,或者 高级爬虫
myhead
火狐狸
火狐狸
  • UID46565
  • 注册日期2014-07-04
  • 最后登录2020-04-14
  • 发帖数107
  • 经验92枚
  • 威望0点
  • 贡献值20点
  • 好评度8点
5楼#
发布于:2018-11-29 23:58
aaaa007cn:https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode

本来是用来跑自动化测试的
只不过之后被人发现了在没有桌面环境的远程服务器上用无头模式挂机这...
回到原帖
估计是指用来封装 google drive 这类 webapp, 客户端程序通过 headless browser 就能直接操作了(虽然 google 官方提供了 drive 的 restful api 和现成的多种语言支持)

其实现今的话论及 headless browser 或者动态爬虫已经有唯一最优解了:
https://github.com/GoogleChrome/puppeteer
(天下无敌的 chrome )
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
6楼#
发布于:2018-11-30 00:49
myhead:估计是指用来封装 google drive 这类 webapp, 客户端程序通过 headless browser 就能直接操作了(虽然 google 官方提供了 drive 的 restful api 和现成的多种语言支持)

其实现...
回到原帖
打包 web 页面做 webapp 有 node-webkit(好像过时了?)、electron 啊
根本轮不到 headless firefox

不管 Google 大法如何无敌
firefox 的 headless 模式还是有存在价值的
比如网站做浏览器兼容的自动化测试时,把小众的 firefox 纳入测试范围
再比如谋智自己也需要在从源码编译 firefox 之后跑测试(好吧这也是谋智当初在资源不足的情况下还愿意投人力物力财力下去开发 headless 模式的原因之一
myhead
火狐狸
火狐狸
  • UID46565
  • 注册日期2014-07-04
  • 最后登录2020-04-14
  • 发帖数107
  • 经验92枚
  • 威望0点
  • 贡献值20点
  • 好评度8点
7楼#
发布于:2018-11-30 10:17
aaaa007cn:打包 web 页面做 webapp 有 node-webkit(好像过时了?)、electron 啊
根本轮不到 headless firefox

不管 Google 大法如何无敌
firefox 的 headless 模式还是有...
回到原帖
不一样,electron 这些是用来开发 webapp 或者实现 webapp 跨平台用的,一般是 webapp 开发者端会使用的工具;
而 puppeteer 这类 headless browser 工具是将已有的 webapp 原本通过 GUI 的交互方式转化为可编程的接口,方便用脚本进行自动操作或者整合进更庞大的框架里,一般是 webapp 的用户端会使用的工具。
viewtheard
千年狐狸
千年狐狸
  • UID2383
  • 注册日期2005-01-20
  • 最后登录2024-04-25
  • 发帖数1969
  • 经验479枚
  • 威望1点
  • 贡献值356点
  • 好评度20点
  • 社区居民
  • 忠实会员
8楼#
发布于:2018-12-02 16:56
和全屏浏览有啥区别
My Technical Blog: http://art-technical.blogspot.com/
xelnaga
千年狐狸
千年狐狸
  • UID1911
  • 注册日期2005-01-08
  • 最后登录2022-04-20
  • 发帖数1725
  • 经验85枚
  • 威望0点
  • 贡献值8点
  • 好评度5点
  • 社区居民
9楼#
发布于:2018-12-04 14:05
viewtheard:和全屏浏览有啥区别回到原帖
headless不面向用户,没有界面,依靠代码调用或者命令行运行
viewtheard
千年狐狸
千年狐狸
  • UID2383
  • 注册日期2005-01-20
  • 最后登录2024-04-25
  • 发帖数1969
  • 经验479枚
  • 威望1点
  • 贡献值356点
  • 好评度20点
  • 社区居民
  • 忠实会员
10楼#
发布于:2018-12-05 08:03
xelnaga:headless不面向用户,没有界面,依靠代码调用或者命令行运行回到原帖
原来如此,程序员用的特别版
My Technical Blog: http://art-technical.blogspot.com/
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
11楼#
发布于:2018-12-07 23:53
myhead:不一样,electron 这些是用来开发 webapp 或者实现 webapp 跨平台用的,一般是 webapp 开发者端会使用的工具;
而 puppeteer 这类 headless browser 工具是将已有的 webapp 原本通过...
回到原帖
NW.js(node-webkit)、electron 是做 GUI 的
用来打包 webapp 也就是直接内嵌网页
也可以通过 DOM 来操作页面元素
其实这俩本身就是基于 nodejs + chromium 的

看起来以后去掉 chromium 改成直接依赖 puppeteer 也不是不可能
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
12楼#
发布于:2018-12-13 17:05
myhead:估计是指用来封装 google drive 这类 webapp, 客户端程序通过 headless browser 就能直接操作了(虽然 google 官方提供了 drive 的 restful api 和现成的多种语言支持)

其实现...
回到原帖
已经体验了puppeteer,确实很好用!

据说也支持firefox,但没看到相关资料,不知道哪个的稳定性更好
myhead
火狐狸
火狐狸
  • UID46565
  • 注册日期2014-07-04
  • 最后登录2020-04-14
  • 发帖数107
  • 经验92枚
  • 威望0点
  • 贡献值20点
  • 好评度8点
13楼#
发布于:2018-12-14 18:15
firefox_userA:已经体验了puppeteer,确实很好用!

据说也支持firefox,但没看到相关资料,不知道哪个的稳定性更好
回到原帖
肯定是 Chrome 的更稳定。

puppeteer 本质是基于 Chrome DevTools 协议的,本来他们创造 puppeteer 的一大目的就是提供一个 Chrome DevTools 协议的示范实现。
之前也有一些尝试在其他浏览器上实现 puppeteer API 的项目,但这些项目通常要求对应的浏览器也实现了 Chrome DevTools 协议或者能够将接口转换成 Chrome DevTools 协议。
不过,就在前几天,puppeteer 官方开始尝试通过为 Firefox 添加 juggler 协议来实现 Firefox 版的 puppeteer:
https://github.com/GoogleChrome/puppeteer/pull/3628
目前还处于实验阶段,只能使用他们修改过的特殊 Firefox。
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
14楼#
发布于:2018-12-17 19:14
myhead:肯定是 Chrome 的更稳定。

puppeteer 本质是基于 Chrome DevTools 协议的,本来他们创造 puppeteer 的一大目的就是提供一个 Chrome DevTools 协议的示范实现。
之前也有一些尝试在...
回到原帖
你怎么了解这么清楚的?用这个东西来做什么?
有更多其它资源推荐一下吗?
上一页
游客

返回顶部