internet explorer-无法使用带有c#的Selenium网络驱动程序启动IE浏览器

本文关键字:网络 Selenium 驱动程序 启动 浏览器 IE explorer- internet | 更新日期: 2023-09-27 17:57:37

我无法启动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);

提前谢谢!

internet explorer-无法使用带有c#的Selenium网络驱动程序启动IE浏览器

找到了一个解决方案。除了忽略受保护模式设置外,我还忽略缩放设置和点击不起作用,所以我也忽略本机事件。

这是新代码:

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);

是的,您可以使用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);

希望同样的代码也适用于你。