FindElement (By.Id) не работает - PullRequest
       6

FindElement (By.Id) не работает

0 голосов
/ 21 октября 2011

Это моя первая попытка использования 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_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?

[править]

Сейчас я попробовал этот код с драйвером Firefox и IE, и оба показывают одинаковое поведение. Я должен упустить что-то простое?прежде чем пытаться найти элементы, но тот же результат.

1 Ответ

4 голосов
/ 24 октября 2011

Отвечая на мой собственный вопрос: Конечно, было что-то простое, что мог бы пропустить только новичок: элемент, который я пытался найти, был в кадре.

Эта строка FF_Browser.SwitchTo().Frame("ApplicationHeaderFrame"); позаботилась о проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...