我遇到以下错误:"启动Internet Explorer时出现意外错误。保护模式设置对于所有区域都不相同。启用保护模式必须设置为相同的值(对所有区域启用或禁用)。" 使用Selenium WebDriver打开IE时。
在Java中(使用selenium-server 3.8.1),我通过使用:
解决了这个问题InternetExplorerOptions options = new InternetExplorerOptions();
options.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
driver = new InternetExplorerDriver(options);
我如何为Robot Framework执行此操作(使用SeleniumLibrary的Java端口:robotframework-seleniumlibrary-3.8.1.0-jar-with-dependencies)?
${ie_options}= Create Dictionary InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS=true
Open Browser ${url} ie None None ${ie_options} None
我尝试了上面的那个,但我仍然遇到错误。将其更改为 ignoreProtectedModeSettings 无效。有什么想法吗?
答案 0 :(得分:1)
我写了自定义关键字,它会更新Windows Registry
以启用ProtectedMode
的{{1}}。
以下是 Python 代码:
all Zones
您可以用Java编写相同的代码。Check here for more help !!!
答案 1 :(得分:0)
要直接在Robot Framework中执行此操作:
${ie_dc} = Evaluate
... sys.modules['selenium.webdriver'].DesiredCapabilities.INTERNETEXPLORER
... sys, selenium.webdriver
${ieOptions} = Create Dictionary ignoreProtectedModeSettings=${True}
Set To Dictionary ${ie_dc} se:ieOptions ${ieOptions}
Open Browser ${url} ie desired_capabilities=${ie_dc}
在某些时候,ignoreProtectedModeSettings被放置在功能字典中的se:ieOptions字典中。如果您调试Selenium的Python库(尤其是webdriver / remote / webdriver.py)并查看start_session
中的响应,就可以看到此内容。