首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#无头浏览器不需要.exe

C#无头浏览器不需要.exe
EN

Stack Overflow用户
提问于 2018-07-27 08:13:30
回答 2查看 1.4K关注 0票数 0

我一直在考虑使用带有C#代码的无头浏览器。无头Chrome似乎是前进的道路,因为幻影JS正在下降。当我安装其中任何一个来使用selenium时,一个可执行文件被复制到项目中,C#代码将调用这个.exe来加载无头浏览器。

我有严格的限制,使我无法从代码中调用.exe,这就阻止了我这样做。我也不能从窗口调用任何可执行文件,所以我需要一个不使用独立可执行文件运行的无头浏览器。

我试图了解是否有可能以某种方式序列化可执行文件,使我能够加载它并在应用程序的内存池中运行它。从我所做的研究来看,这似乎是一件非常困难的事情,除非我用某种虚拟机来模仿windows。这可能会做到这一点,但是构建一个完整的VM操作系统、运行一个浏览器和导航到一个网站所花费的时间太长了,所以解决方案不会有任何用处。

一想到甚至试图反编译一个可执行文件,看看我是否能够创建某种类型的DLL,似乎就太过分了。有什么我可以做的,以获得一个无头铬浏览器,或任何无头浏览器工作,而不需要调用外部可执行文件。

EN

回答 2

Stack Overflow用户

发布于 2018-07-27 08:28:15

我看到两种可能性:

  1. 使用正式的色度驱动程序代码构建所需的内容。
  2. 使用类似的https://crossbrowsertesting.com/selenium-testinghttps://www.browserstack.com/或类似服务,在有可能这样做的地方运行您的硒测试。
票数 0
EN

Stack Overflow用户

发布于 2018-07-27 08:28:56

根据您的应用程序类型,我认为有几种选择是可能的:

  1. 运行托管无头浏览器的联机服务(或使用第三方服务),然后从应用程序调用您的服务。这将是一个外部依赖,与额外的成本相关联,但至少您不会调用本地.exe文件。
  2. 如果这是一个基于桌面Windows的应用程序,您可以嵌入WebBrowser控件,使其不可见,并使用基于IE的自动化库,这将不会直接调用Internet .exe文件。
  3. 也许一些假浏览器引擎可以满足您的任务。从这个列表中看,简单浏览器看起来像是100%基于C#的实现,但是没有Javascript支持。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51553671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档