【问题标题】:WebBrowser control, isolation and IE8 InPrivate modeWebBrowser 控制、隔离和 IE8 InPrivate 模式
【发布时间】:2010-12-08 08:35:06
【问题描述】:

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

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

WebKit.net 会更好,但它的开发还为时过早,无法提供我需要的功能。

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

这就是我想要的:

  • 在自动化会话结束时,不会保留 cookie/会话/缓存对象。除了清除全局 Temporary Internet Files 文件夹之外,有没有办法让我访问 IE8 暴露的 InPrivate 模式?

  • 如果有办法访问 InPrivate 浏览,我是否可以并排运行两个相互隔离的 InPrivate 模式会话?

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

对此的任何帮助或意见将不胜感激!

【问题讨论】:

  • 您是指 Windows 窗体 WebBrowser 控件、WPF 还是什么?
  • 嗨,很抱歉,这并没有提供任何帮助,但是“WebBrowser 虽然它只是运行 IE,这是一个与所有进程共享的大型共享环境。换句话说,所有实例共享cookie、会话、代理设置等”你是从哪里收集到这些信息的?据我了解,WebBrowser 不会与其他进程共享其 cookie...

标签: internet-explorer-8 browser webbrowser-control


【解决方案1】:

不,您不能在 InPrivate 模式下运行 WebBrowser 控件;这根本不是受支持的场景。

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

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

【讨论】:

    【解决方案2】:

    这里有一些代码可以让你访问 InPrivate IE

    Friend Function Open(Optional ByVal Url As String = "about:blank", Optional ByVal WindowState As ProcessWindowStyle = ProcessWindowStyle.Hidden) As WebBrowser
    On Error Resume Next
    
    Dim Start As New ProcessStartInfo
    Dim Windows = New ShellWindowsClass
    Dim Count = Windows.Count
    Start.FileName = "iexplore.exe"
    Start.Arguments = "-private -nomerge " & Url
    If WindowState = ProcessWindowStyle.Hidden Then
      Start.WindowStyle = ProcessWindowStyle.Minimized
    Else
      Start.WindowStyle = WindowState
    End If
    Process.Start(Start)
    
    Wait.Reset()
    Do
      If Windows.Count > Count Then Exit Do
    Loop While Wait.Waiting
    
    Browser = Windows(Count)
    Browser.Visible = (WindowState <> ProcessWindowStyle.Hidden)
    Return Browser
    End Function
    

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 2014-10-18
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 2010-10-13
      • 1970-01-01
      相关资源
      最近更新 更多