zoukankan      html  css  js  c++  java
  • [Selenium] 如何绕过 IE 的安全模式

    自从 IE7 引入 Protected Mode 以来, IE 浏览器的安全性的确得到了一定程度的提高。其原理从本质来讲,在浏览某些需要启用保护模式的页面时,会开启一个新的浏览器会话以完成任务,而此时你无法控制前一个会话中的 COM 对象。随之而来的问题是,WebDriver 在这种情况下会遇到如下错误提示信息:

    org.openqa.selenium.WebDriverException:Unexpected error launching

    Internet Explorer.Protected Mode must be set to the same value(enabled or disabled) for all zones.

    解决方案1:

    可通过设置 Internet Explorer 浏览器对应所有 Zone 的 Protected Mode 一致来达到目标。Zone 包括 Internet、Local intranet、Trusted sites 和 Restricted sites。这4个 Zone 上的选项 Enable Protected Mode 要么全部勾选,要么全部不勾选

    解决方案2:

    解决方案1对于只有少量的 Windows 测试机器而言具有可行性。而对于具有大规模的 Windows 测试机器的机构而言,去设置每一台 Windows 机器上的 Internet Explorer 的 Protected Mode 的工作量过于庞大。有没有更加高效的解决方案来达到同样的效果呢个?答案是通过设置 Internet Explorer Driver 的 Capability 为 IE_ENSURE_CLEAN_SESSION 达到目的。示例代码如下:

    public class testInternetExplorerDriver{

      public static void main(String[] args){

        System.setProperty("webdriver.ie.driver", "D:DriverIEDriverServer_Win32_2.37.0_latestIEDriverSer.exe");

        DesiredCapabilities capab = DesiredCapabilities.internetExplorer();

        capab.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);

        capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

        WebDriver driver = new InternetExplorerDriver(capab);

        driver.get("http://www.baidu.com");

      }

    }

  • 相关阅读:
    快速排序
    归并排序
    python module的结构
    HTTPResponse.read([amt]):只能read一次
    本地文件上传到远程服务器
    HTTP POST发消息
    64. 最小路径和-python
    322.零钱兑换-python
    把二叉树打印成多行 -python
    按之字形顺序打印二叉树 -python
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4551363.html
Copyright © 2011-2022 走看看