【问题标题】:Selenium 2.0 & IE9硒 2.0 和 IE9
【发布时间】:2011-07-18 09:35:21
【问题描述】:

我正在使用 Selenium 2.0 网络驱动程序尝试登录页面。以下代码可以很好地与 Firefox 网络驱动程序一起使用,它会找到字段,填写它们并单击按钮。

driver.FindElement(By.Id("UserName")).SendKeys("name"); 
driver.FindElement(By.Id("Password")).SendKeys("test");
driver.FindElement(By.Id("btnLogin")).Click();

但是,每当我尝试使用 Internet Explorer 网络驱动程序时,它都会说无法找到 id == UserName 的元素。我尝试使用 By.Name 和 By.Xpath 以及有效输入,但我仍然收到相同的错误,说它找不到元素。我使用的是 IE 9,所以我知道这可能是一个兼容性问题,但我似乎找不到任何帖子或信息表明存在已知问题。

我只是想看看其他人是否遇到了同样的问题,或者是否有什么我做的不对而导致了我的问题。此外,这是一个 C# .NET 项目。

-- 编辑--

显然这是 IE9 的问题,我删除了 9 并返回到 8 并且测试工作正常。我仍然很想知道是否有人知道为什么会发生这种情况或是否有解决方法。

【问题讨论】:

    标签: webdriver selenium-webdriver


    【解决方案1】:

    当前版本的 Selenium (2.0b2) 不支持 IE9,但是 2.0b3 应该很快就会发布,并且支持 IE9 和 Firefox 4。

    【讨论】:

    【解决方案2】:

    answer 也可能与遇到问题的任何人相关,即使用 IE9 触发“点击”。

    解决方法是在尝试单击链接之前将 .Click() 发送到页面上的另一个元素,以便浏览器获得焦点,例如它是父母:

    driver.FindElement(By.Id("Logout")).FindElement(By.XPath("..")).Click();
    driver.FindElement(By.Id("Logout")).Click();
    

    【讨论】:

      猜你喜欢
      • 2011-08-20
      • 1970-01-01
      • 2011-01-06
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      相关资源
      最近更新 更多