首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FindElement(By.Id)不工作

FindElement(By.Id)不工作
EN

Stack Overflow用户
提问于 2011-10-21 22:12:48
回答 1查看 2.3K关注 0票数 0

这是我第一次尝试使用Selenium,我在使用“FindElement(By.Id)”时遇到了问题。我的脚本使用了几个By.Name方法,它们工作得很好。

下面是我的代码:

代码语言:javascript
复制
// Enter the user name and password 
IWebElement username = FF_Browser.FindElement(By.Name("txtUserName"));
username.SendKeys("user1");
IWebElement password = FF_Browser.FindElement(By.Name("txtPassword"));
password.SendKeys("pw1");
// Click the Login button
FF_Browser.FindElement(By.Name("btnLogon")).Click();

try 
{
bool loginResult = FF_Browser.FindElement(By.Id("lblUserName")).Text == "user1";
return loginResult;   
}
catch (NoSuchElementException)
{
return false;
}

问题是FindElement(By.Id("lblUserName"))永远找不到这个元素。我在源代码中反复检查了一下,它肯定是'lblUserName'

这是Selenium中的一个bug吗?

编辑

我现在已经在Firefox和IE驱动程序中尝试了这段代码,两者都显示出相同的行为。我一定漏掉了什么基本的东西?在尝试查找元素之前,我尝试刷新浏览器,但结果相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-24 21:43:48

回答我自己的问题:这当然是一个只有初学者才会跳过的简单的东西:我试图寻找的元素在一个框架中。

这一行FF_Browser.SwitchTo().Frame("ApplicationHeaderFrame");解决了这个问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7850660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档