C# FindElement(By.Id)不工作
这是我第一次尝试使用Selenium,我在“FindElement(By.Id)”方面遇到了问题。我的脚本使用了几个By.Name方法,它们工作得很好 这是我的密码:C# FindElement(By.Id)不工作,c#,selenium-webdriver,C#,Selenium Webdriver,这是我第一次尝试使用Selenium,我在“FindElement(By.Id)”方面遇到了问题。我的脚本使用了几个By.Name方法,它们工作得很好 这是我的密码: // Enter the user name and password IWebElement username = FF_Browser.FindElement(By.Name("txtUserName")); username.SendKeys("user1"); IWebElement password = FF_Brow
// 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'
这是硒中的一种虫子吗
[编辑]
我现在已经在Firefox和IE驱动程序中尝试了这段代码,它们都显示了相同的行为。我一定是缺少了一些基本的东西?我在尝试查找元素之前尝试刷新浏览器,但结果相同。回答我自己的问题:这当然是只有初学者才会跳过的简单的东西:我试图查找的元素是在一个框架中
这一行
FF\u Browser.SwitchTo().Frame(“ApplicationHeaderFrame”);
解决了这个问题。回答了我自己的问题:这当然是一件只有初学者才会跳过的简单事情:我试图找到的元素在一个框架中
这一行FF_Browser.SwitchTo().Frame(“ApplicationHeaderFrame”);
解决了这个问题