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);
提前谢谢!
找到了一个解决方案。除了忽略受保护模式设置外,我还忽略缩放设置和点击不起作用,所以我也忽略本机事件。
这是新代码:
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);
希望同样的代码也适用于你。