【问题标题】:Writing a managed wrapper for Chromium [closed]为 Chromium 编写托管包装器 [关闭]
【发布时间】:2011-12-27 18:03:31
【问题描述】:

今天我一直在互联网上四处游荡,在阅读了很多解决方案后,我决定编写 Chromium 包装器将是一种有趣的学习体验;更不用说这对于我目前正在从事的几个项目是值得的。

我知道已经有一些包装器(awesomiumberkelium),更不用说一些基本教程like this one,但我正在考虑编写自己的包装器。

我这样做的主要兴趣是让我能够在运行 html 所依赖的任何 javascript 之前和之后创建和访问由 WebKit 生成的用于 C# 的 DOM 结构。我知道我可以考虑使用 HTMLAgilityPackMajestic12 进行 HTML 解析,但我希望在经过验证的引擎之上构建一些快速、高效且在可预见的未来会积极开发的引擎. WebKit 是一个积极开发的布局引擎,嵌入在一些最流行的浏览器中,而 V8 是一个令人印象深刻的 javascript 引擎,因此决定使用 Chromium。

鉴于我不关心实际呈现任何内容,而是希望访问网页的结构,我觉得将 WebKit 完全嵌入可能是矫枉过正。即使在我希望 javascript 更改 DOM 的情况下,我仍然没有用于呈现结果。

总结

我真正希望 Chromium 能够创建网页的 DOM,以及(可选)使用 Chromium 令人印象深刻的 V8 引擎运行所述页面脚本以进一步操作 DOM 的能力。我知道这将是一项艰巨的任务,但我很想看看你要说什么。 简而言之,是否有人使用过 WebKit 和 V8(可能通过 Chromium),可以评估其可行性并向我提供他们的专业知识(通过有关如何处理此问题的建议)?我知道我可以最终确定解决此问题的适当方法,但我希望加快进程。链接或者可能是一个相对简短而甜蜜的高级别的“这就是我要做的”是我正在寻找的(也就是我不需要任何太花哨的东西)。

我希望我所问的问题不会太漫不经心。如果您觉得它太笼统并想关闭此主题,请不要这样做,请发表评论,我将尝试缩小焦点。正如我刚才所说,因为我感冒了,所以我今天脑子里蹦蹦跳跳。

【问题讨论】:

  • 这真的不是在这样的事情上招募帮助的地方。如果您有问题,您可以扩展获得答案的能力,目前这个问题的答案非常具体。
  • @Ramhound 我不是在找人为我写这个。我只是在寻找对这些项目有更多经验的人的建议。另外我不确定我是否理解If you have a question, you expand your ability to get an answer, currently this question's answer is very specfic[sic]. 的意思
  • 你说的是创建phantomjs.org

标签: c# javascript webkit c++-cli chromium


【解决方案1】:

我在同一条路上。我正在深入研究 QtWebKit 以及在 PhantomJs 上完成的实现,它类似于 Selenium,并且在我的测试中就像一个魅力。

当您使用 QtWebKit 时,作为 WebKit 的驱动程序 youll save time for next releases of it, because maintain a WebKit Port its 并不容易。

【讨论】:

    【解决方案2】:

    我使用Selenium WebdriverChromeDriver 进行自动化脚本、网页和验收测试。 Easy to set up, easy to use.

    这个想法是你可以使用这个现有的接口,但是change the path to the Chrome executable with ChromeOptions.BinaryLocation。尝试将其指向 WebKit 的现有无头版本之一,例如 WebKitDriver - 它可能会正常工作。

    我们的目标可能不同,但我本人会对无头版本感兴趣。在我的开发机器上进行测试时它会不那么突兀,而且我已经在测试失败时自动截取了屏幕截图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      相关资源
      最近更新 更多