在IE浏览器中,单击链接中的一个时,将打开一个新的浏览器,但是硒无法将控件移至新的浏览器,并且无法检测到新浏览器中的任何元素。
我正在使用这些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浏览器的这些安全设置,由于公司限制,我无法更改这些设置。 对于“ Internet”和“受限制的站点”启用了保护模式,而对于“本地IntRANET和“受信任的站点””则未启用保护模式。
还有其他方法可以解决此问题吗?
答案 0 :(得分:0)
InternetExplorerDriver文档的摘录:
所需的配置: “在Windows Vista或Windows 7的IE 7或更高版本上,必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同即可。要设置保护模式设置,请从“工具”菜单中选择“ Internet选项...”,然后单击“安全性”选项卡。对于每个区域,选项卡底部都会有一个复选框,标有“启用保护模式” 。”
https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
除非所有四个区域的保护模式设置都相同,否则切换到新窗口将不起作用。几个月前,我遇到了这个问题,除非按照上面引用的文档进行保护模式设置,否则直到今天为止都无法切换到新窗口。
我通过购买专门用于运行自动化脚本的测试机来完成这项工作,(我们在组织中使用的是Selenium Grid),并且为所有四个区域设置了相同的保护模式设置。