在IE浏览器中,单击其中一个链接时,一个新的浏览器正在打开,但Selenium无法将控件移动到新的浏览器,并且没有检测到新浏览器中的任何元素。
我正在使用这些IE设置。
InternetExplorerOptions option = new InternetExplorerOptions();
option.setCapability(CapabilityType.BROWSER_NAME, "internet explorer");
option.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
option.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
option.setCapability(InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR,UnexpectedAlertBehaviour.IGNORE);
option.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS,true);
option.setCapability("ignoreProtectedModeSettings", true);
option.setCapability(CapabilityType.PAGE_LOAD_STRATEGY, "normal");
option.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
option.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
我具有IE Brower的这些安全设置,由于公司限制,我无法更改这些设置。启用了" Internet"&"限制站点",并且不启用"本地Intranet&"值得信赖的网站"。
有人还有其他方法可以处理此问题吗?
摘自Internet ExpplorerDriver文档:
必需的配置: "在Windows Vista或Windows 7上的IE 7或更高版本上,您必须将受保护的模式设置设置为每个区域的值相同。该值可以打开或关闭,只要每个区域都相同要设置受保护的模式设置,请从"工具"菜单中选择" Internet选项...",然后单击"安全"选项卡。对于每个区域,将在标记为" Enable Prodected Mode"的选项卡的底部有一个复选框。"
https://github.com/seleniumhq/selenium/wiki/internetexplorerdriver
除非所有四个区域的受保护模式设置相同,否则切换到新窗口将无法使用。我几个月前就遇到了这个问题,除非今天根据上述文档进行了受保护的模式设置,否则今天没有办法切换到新窗口。
。我通过采购专门用于运行自动化脚本的测试机(我们在组织中使用硒网格(并为所有四个区域设置相同的受保护模式设置。