无法使用带有c#的Selenium webdriver启动IE浏览器

时间:2016-07-19 16:28:53

标签: c# internet-explorer selenium-webdriver

我无法启动IE浏览器来运行用C#编写的selenium自动化测试。

我知道问题是我没有将安全设置设置为相同级别。

我也知道解决这个问题的方法通常是在IE安全选项卡中为所有区域选择相同的安全级别。但我的工作使我无法使用安全选项卡。有没有人知道另一个解决这个问题的工作?

//Start Opening browser
DesiredCapabilities caps = DesiredCapabilities.InternetExplorer();
caps.SetCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
driver = new InternetExplorerDriver(caps);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);    
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(this.baseURL);

提前谢谢!

2 个答案:

答案 0 :(得分:0)

是的,您可以使用Selenium WebDriver的DesiredCapabilities类

来完成

//将IE驱动程序的功能设置为忽略所有区域浏览器保护模式设置。

DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

//使用新功能初始化InternetExplorerDriver实例。

WebDriver driver = new InternetExplorerDriver(caps);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

希望相同的代码适合您。

答案 1 :(得分:0)

找到解决方案。除了忽略保护模式设置,我还忽略缩放设置,点击不起作用,所以我也忽略了原生事件。

这是新代码:

var options = new InternetExplorerOptions()
{
    InitialBrowserUrl = baseURL,
    IntroduceInstabilityByIgnoringProtectedModeSettings = true,
    IgnoreZoomLevel = true,
    EnableNativeEvents = false
};

driver = new InternetExplorerDriver(options);    
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(this.baseURL);