主要区别在于在基于GUI和非基于GUI(Headless)上执行。
我正在寻找所有Headless浏览器之间的差异,但不幸的是,我没有找到任何差异。我一个接一个地走过,这让我更加困惑。如果有人能分享有差异的简短信息,让事情变得清楚,那就太好了。
浏览器
浏览器是一个应用程序,它提供了一种查看万维网上所有信息并与之交互的方式。从技术上讲,浏览器,也称为Web浏览器nternet浏览器 无头浏览器也是Web浏览器,但没有图形用户界面(GUI),但可以通过编程进行控制,可广泛用于自动化、测试和其他目的。 使用无头浏览器有很多优点和缺点。使用无头浏览器可能对浏览Web没有太大帮助,但对于自动化任务和测试来说,这是非常棒的无头浏览器
为什么使用无头浏览器
无头浏览器的优点
使用无头浏览器有很多优点。一些tham如下:
- 使用无头浏览器的一个明显优势是它们通常比真正的浏览器更快。之所以更快,是因为我们没有启动浏览器GUI,并且可以绕过真实浏览器加载CSS、JavaScript以及打开和渲染HTML DOM所需的所有时间
- 在性能方面,使用无头浏览器时,您通常可以看到2x到15x更快的性能
- 当报废网站,你不一定想手动启动一个网站。因此,你可以无头访问网站,只需抓取HTML即可。您不需要渲染完整浏览器即可执行此操作
- 许多开发人员使用无头浏览器对其网站和移动应用程序进行单元测试代码更改。能够从命令行完成所有这些操作,而无需手动刷新或启动浏览器,这为他们节省了大量精力
当您可能不想使用无头浏览器时
您可以选择使用Real Browser而不是Headless Browser 正如你正确指出的那样。。。主要区别在于基于GUI和非基于GUI(Headless)的执行哪些无头浏览器更好
- Chromium嵌入式框架:CEF是一个基于GoogleChromium项目的开源项目,支持JavaScript和BSD许可证
- Erik:Erik是Kanna和WebKit之上的无头浏览器,具有Swift支持和MIT许可证
- jBrowserDriver:jBrowserdrive是一个兼容Selenium的无头浏览器,它基于WebKit并通过Java绑定支持和Apache License v2.0许可证与Selenium Server协同工作
- PhantomJS:PhantomJS是一个无头WebKit,可使用JavaScript API编写脚本。它对各种web标准具有快速和本地支持:DOM处理、CSS选择器、JSON、Canvas和SVG,带有JavaScript、Python,Ruby和Java,PHP和R(通过Selenium)支持以及BSD 3-Clause许可证
- Splash:Splash是一个带有HTTP API的javascript呈现服务。它是一个带有HTTP API的轻量级浏览器,使用Twisted和QT在Python中实现,几乎所有的启动绑定艺术和BSD 3-Clause许可证
您可以在哪些驱动程序支持"无浏览器"/"无头"测试中找到相关讨论?