首页 > 解决方案 > 使用 Selenium 在私有模式下打开 Internet Explorer

问题描述

所以我一直在尝试使用 selenium (C#) 在 Private 中打开 IE,这是我迄今为止最接近的:

        InternetExplorerOptions op = new InternetExplorerOptions();
        op.PageLoadStrategy = PageLoadStrategy.Normal;
        op.IgnoreZoomLevel = true;
        op.InitialBrowserUrl = "https://entry.wgrintra.net/schadenwv/servlet/main";
        op.ForceCreateProcessApi = true;
        op.BrowserCommandLineArguments = "-private";
        IWebDriver driver = new InternetExplorerDriver(op);

这里的问题是,在打开浏览器 60 秒后(正确地私下)驱动程序超时(最后一步没有完成)。

我环顾四周,大多数只是使用不再有用的功能。

(我必须向注册表添加一个值才能强制创建进程 api)

标签: c#internet-explorerselenium-webdriverinternet-explorer-11selenium-iedriver

解决方案


尝试参考下面的代码示例并在您身边进行测试可能有助于解决您的问题。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

/**
 * Created by Amol Chavan on 9/19/2016.
 */
public class PrivateBrowsing {

    public static void main(String args[]){
        createInstance();
    }

    public static WebDriver createInstance(){
        DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
        capabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true);
        capabilities.setCapability(InternetExplorerDriver.IE_SWITCHES, "-private");
        System.setProperty("webdriver.ie.driver","C:\\Grid\\IEDriverServer.exe");
        WebDriver driver = new InternetExplorerDriver(capabilities);
        driver.get("http://www.google.com");
        return driver;
    }
}

参考:

如何使用 Selenium/WebDriver 在隐身/私有模式下打开 Internet Explorer 浏览器?


推荐阅读