【问题标题】:Headless webkit wrapper/driver no install for .net无头 webkit 包装器/驱动程序未安装 .net
【发布时间】:2012-09-27 12:15:14
【问题描述】:

我正在寻找具有以下属性的.net 嵌入式无头浏览器

  • 支持 Ajax/HTML5 的现代 Webkit 级别,最好基于 Webkit
  • 支持无头模式(没有可见的浏览器),速度越快越好
  • 零安装(类似于 browser.exe 和复制到项目中的 c# 包装 DLL)
  • 可靠的生产用于基本任务(如复杂页面的屏幕截图),我不是在这里寻找 99.9999 的可靠性,但它需要比 Selenium 更稳定和更快,我们有很多冗余所以偶尔的错误是好的。
  • 开源或免费用于商业用途(最好是 MIT 许可),而不是废弃的项目

如果不需要安装 PhantomJS 将是理想的选择。 PhantomJS 似乎符合我除了“不安装”部分之外的所有标准,因此它是当前最喜欢的,但在我们投入时间设置和测试用于安装 PhantomJS 的多环境部署过程之前(这很耗时,因为我们使用了数千个数十个数据中心中的计算机)我想确保我没有错过更好的选择。我对非 webkit 实现持开放态度,但它需要具有与现代 webkit 浏览器相同的功能,并且没有奇怪的渲染或 AJAX 问题。如果您认为这是可行的方法,我也有兴趣了解 PhantomJS 用于截屏 AJAX/HTML5 页面的可靠性。例如,如果渲染页面的服务器没有显卡或高屏幕分辨率,那么无头浏览器会继承它并渲染一个丑陋的页面吗?

【问题讨论】:

  • PhantomJS 是一个提取 zip 文件以获取 exe 的简单案例。不知道如何才能拥有比这更简单的软件。
  • 这是个好消息!这篇文章另有建议。也许它已经过时或不正确skookum.com/blog/…如果您确定不需要安装,我们可以直接调用exe打开无头浏览器,那么如果您想在答案下发布,我会接受它
  • 我猜这篇文章听起来很难的原因是它是不久前写的。 Phantomjs 是相当新的,它只是最后几个版本才开始成为一个可用的工具,而不会让你跳过太多的圈子。当他尝试它时,很可能它不能作为预编译的二进制文件提供。现在肯定是,这让它变得非常容易。

标签: .net browser phantomjs headless


【解决方案1】:

PhantomJS 可以简单地通过解压缩 zip 来获取 exe 来安装。所以这方面很简单。

对于 ac# dll 不太确定,因为我没有在.net 中使用过它,但它可以从外部程序编写脚本(这就是它的全部意义所在),所以它不应该是太难了。

希望对您有所帮助。

【讨论】:

  • 这听起来很合适,感谢您的快速回复。所以,只是确认一下,exe 实际上是 PhantomJS 应用程序而不是安装程序,对吗?网络套件呢?我们是否必须安装任何 webkit 依赖项?希望有一个“只需调用这个 exe 就可以工作”之类的东西 :-)
  • 是的,exe 是完整的应用程序,它是静态链接的,因此它包含了 exe 中所需的一切——另见phantomjs.org/download.html——引用:Download... and extract... The executable bin/phantomjs.exe is ready to use.
  • 谢谢!看起来那篇文章中的混淆来自于他的目标是源构建而不是使用标准包。
  • phantomjs.org/download.html 已经说明了一切:“对于这个静态构建,二进制文件是自包含的,没有外部依赖。它将在全新安装的 Windows XP 或更高版本上运行。没有需要安装 Qt、WebKit 或任何其他库。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-15
  • 2016-06-25
相关资源
最近更新 更多