我需要在Web浏览器控件中运行一些自动化任务,但是我似乎面临着一些局限性/未知性,我不确定100%地确定如何解决。我正在运行的应用程序不适合公开发布,因此我可以强制执行已安装IE8的先决条件。

GeckoFX(http://geckofx.org)会很棒,但是它不能像在HtmlElement对象上使用WebBrowser的InvokeMember方法那样为我提供一种可接受的方式来操纵DOM。

WebKit.net可能会更好,但是要提供我需要执行此功能的功能还为时过早。

这使我有了WebBrowser控件。但是,WebBrowser的问题在于它只运行IE,这是一个包含所有进程的大型胖共享环境。换句话说,所有实例共享cookie, session ,代理设置等。

这就是我想要的:

  • 在自动化 session 结束时,不会保留cookie/ session /缓存对象。除了清除全局“Internet临时文件”文件夹之外,还有什么方法可以让我访问IE8公开的InPrivate模式?
  • 如果可以访问InPrivate浏览,我是否可以并排运行两个彼此独立的InPrivate模式 session ?

  • 理想情况下,我希望能够在单独的线程中运行多个隔离的自动化任务,每个线程都有自己的专用浏览器控件,每个线程都有自己的隔离的 session /环境,任务完成时不会保留这些 session /环境。

    任何帮助或对此的投入,将不胜感激!

    最佳答案

    不可以,您不能在InPrivate模式下运行WebBrowser控件。这根本不是受支持的方案。

    是的,您可以在InPrivate模式下运行IE的两个实例,并将它们彼此隔离。

    使用命令行:iexplore.exe -private -nomerge

    10-07 23:26