2011-03-18 45 views
2

我使用Selenium 2.0 Web驱动程序来尝试登录页面。下面的代码适用于Firefox webdriver,它可以找到这些字段,填充它们并单击按钮。Selenium 2.0&IE9

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

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

我只是想看看是否有其他人遇到同样的问题,或者如果有什么我没有正确地做,导致我的问题。另外,这是一个C#.NET项目。

- 编辑 -

显然,这是IE9的问题,我删除9,回到8和测试工作。我仍然有兴趣知道是否有人发现为什么会发生这种情况,或者是否有解决办法。

回答

2

硒(2.0b2)的当前版本不支持IE9,但是2.0b3应该很快被释放,并支持IE9和Firefox 4

+1

2.0b3今天已经发布了与IE9和Firefox 4支持:http://seleniumhq.wordpress.com/2011/03/21/selenium-2-0b3-the-next -gen浏览器释放/ – 2011-03-21 21:25:57

0

answer也可能是相关的获得的点击任何人遇到的问题'用IE9开火。

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

driver.FindElement(By.Id("Logout")).FindElement(By.XPath("..")).Click(); 
driver.FindElement(By.Id("Logout")).Click(); 
相关问题