【问题标题】:not able to open any web page in IE by using Selenium Web Driver无法使用 Selenium Web Driver 在 IE 中打开任何网页
【发布时间】:2017-12-27 05:56:52
【问题描述】:

我想在 IE 中打开一个谷歌页面 (google.com),但在运行我的脚本时它显示“ org.openqa.selenium.NoSuchWindowException: Unable to get browser (WARNING: The server did not provide any stacktrace information)在运行时显示“错误。 我正在使用 IE:- 11 窗户:- 8.1; 64位。

我的代码是:-

System.setProperty("Webdriver.ie.driver", "C:\\IEDriverServer.exe");
    WebDriver driver = new InternetExplorerDriver();
    driver.get("https://google.co.in");
//  driver.get("javascript:document.getElementById('overridelink').click();");
System.out.println(driver.getCurrentUrl()); 
     Thread.sleep(3000);
     System.out.println(driver.getCurrentUrl());    
    String PageTitle = driver.getTitle();
Thread.sleep(3000);

    if (PageTitle.equals("Google")){
        System.out.println("test case passed");
    }
    else {
        System.out.println("failed");
    }

【问题讨论】:

  • 您使用的是哪个版本的硒罐?
  • @Rohit 我正在开发 Selenium 2.51
  • 好的,我会检查 2.51
  • 还有 2.51,在我这里运行良好
  • 你用的是IE11吗?

标签: java selenium internet-explorer selenium-webdriver automated-tests


【解决方案1】:

尝试以下代码:这在我的最后工作正常

System.setProperty("webdriver.ie.driver", "D:\\IEDriverServer.exe");
    DesiredCapabilities cappabilities = DesiredCapabilities.internetExplorer();        
    cappabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
    cappabilities.setCapability("platform", "WIN8"); 
    cappabilities.setCapability("version", "11"); 
    cappabilities.setCapability("browserName", "internet explorer");
    cappabilities.setCapability("ignoreProtectedModeSettings",1);
    cappabilities.setCapability("nativeEvents","false");
    cappabilities.setCapability("requireWindowFocus","true");
    WebDriver driver = new InternetExplorerDriver(cappabilities);
    driver.manage().window().maximize();
    driver.get("https://google.co.in");
       System.out.println(driver.getCurrentUrl()); 
         Thread.sleep(3000);
         System.out.println(driver.getCurrentUrl());    
        String PageTitle = driver.getTitle();
    Thread.sleep(3000);

        if (PageTitle.equals("Google")){
            System.out.println("test case passed");
        }
        else {
            System.out.println("failed");
        }

如果这对你有用,请告诉我

截图:-

【讨论】:

  • 我用过 selenium 3.4.0 jars
  • 还有一件事......写“webdriver.ie.driver”而不是“Webdriver.ie.driver”
  • 我发布的代码在我最后运行良好...使用 IE11 windows 8.1、64 位、selenium 2.51...我会尝试一些新的方法来解决它。
【解决方案2】:

首先在 IE 浏览器中设置保护模式设置。请按照以下步骤操作:

  1. 打开 IE 浏览器
  2. 点击设置
  3. 点击 Internet 选项
  4. 转到安全选项卡
  5. 单击 Internet 区域以选择区域并查看其保护模式属性。
  6. 现在选中启用保护模式复选框。
  7. 需要为所有其他区域设置。 (互联网、本地 Intranet、可信站点、受限站点)
  8. 点击确定
  9. 再次点击设置
  10. 确保 Internet Explorer 的 Zoom 属性设置为 100%

在您的 Selenium 脚本中使用以下功能:

System.setProperty("webdriver.ie.driver","C:\\IEDriverServer.exe");
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabilities.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURIY_DOMAINS, true);
capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
capabilities.setCapability("allow-blocked-content", true);
WebDriver driver = new InternetExplorerDriver(capabilities);

再次运行 Selenium 脚本。这次会成功的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 2017-09-15
    • 2017-08-02
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    相关资源
    最近更新 更多