【问题标题】:Can't get Selenium tests to run in Internet Explorer无法在 Internet Explorer 中运行 Selenium 测试
【发布时间】:2017-09-14 03:16:25
【问题描述】:

我们已经在 Chrome 和 Firefox 上成功使用 Selenium 测试,现在我们也想开始在带有 Internet Explorer 的 Windows 10 虚拟机上进行测试。到目前为止,测试已经开始,Internet Explorer 打开并转到我们要测试的页面。但是与页面的任何交互都无法通过测试,它没有找到任何元素。错误通常是“xpath 找不到元素”。相同的测试在同一台机器上的 Chrome 和 Firefox 中运行良好。

【问题讨论】:

  • 在与元素交互之前设置一些等待时间。 IE 可能响应缓慢,因此请在该特定元素之前提供一些等待时间并检查

标签: windows selenium internet-explorer windows-10 internet-explorer-11


【解决方案1】:

以下是一些通过 Internet Explorer 执行的清单:

  1. 确保您使用的是最新的 Selenium 3.x jar 以及 IE 11。

  2. 接下来您需要从here 下载“IEDriverServer”(32 位)。

  3. 在设置系统属性时提供“IEDriverServer”的绝对路径。

  4. 以下是 IE 11 打开 gmail 并使用有效凭据登录的代码:

(将 your_id 替换为有效的用户 ID,并将 your_password 替换为有效的密码)

    //Internet Explorer 11
    System.setProperty("webdriver.ie.driver", "C:\\SeleniumUtilities\\BrowserDrivers\\IEDriverServer.exe");
    WebDriver driver = new InternetExplorerDriver();
    driver.manage().window().maximize();
    driver.get("http:\\\\gmail.com");
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    driver.findElement(By.id("Email")).sendKeys("your_id");
    driver.findElement(By.id("next")).click();
    WebDriverWait wait = new WebDriverWait(driver, 5);
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("Passwd")));
    driver.findElement(By.id("Passwd")).sendKeys("your_password");
    driver.findElement(By.id("signIn")).click();
    driver.quit();

让我知道它是否适合你。

【讨论】:

    【解决方案2】:

    我让它工作了。问题是我需要在 Internet Explorer -> Internet 设置 -> 安全性中关闭所有安全区域的保护模式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      相关资源
      最近更新 更多