2011-12-23 4 views
0

Я пытаюсь выполнить очень простой автоматический тест. Я создал селектор XPath в FirePath, здесь:Проблемы с размещением элемента с помощью XPath в Selenium-RC

//a[@href='http://i.yandex.ru/'][span[contains(.,'[email protected]')]] 

Но Селен-RC не может найти этот элемент. Кодекс:

final String StrEmailToTest = "[email protected]"; 
String linkEmailSelector = "//a[@href='http://i.yandex.ru/'][span[contains(.,'"+ StrEmailToTest + "')]]"; 
selenium.isElementPresent(linkEmailSelector); 

и возвращает «ложь»

Не могли бы вы сказать мне, что я делаю не так?

UPD. Я загрузил файл * .maft здесь: http://depositfiles.com/files/lhcdh2wtl Не бойтесь, на экране есть некоторые русские символы.

+0

Без фрагмента HTML мы не сможем помочь вам в этом. –

+0

Я обновил тему с помощью HTML-примера – Eugene

ответ

0

Я думаю, что селен ищет элемент, даже прежде чем он загружен. Является ли это динамически загруженным/сгенерированным элементом? Если это так, используйте waitForElementPresent(). Если нет, попробуйте изменить метод идентификации элемента - используйте идентификатор или имя, а затем попробуйте выполнить его. Чтобы убедиться, что ваш xpath правильный, в selenium IDE/plugin для firefox введите путь к элементу (введите некоторую случайную команду для поля команды) и нажмите «Найти элемент». Если он находит, то селен не имеет проблем с его поиском, учитывая, что страница/элемент загружается или генерируется. Если нет, вам придется попросить Selenium подождать, пока элемент не будет загружен.

1

Не стоит ваш XPath быть:

"//a[@href='http://i.yandex.ru/']/span[contains(.,'"+ StrEmailToTest + "')]"; 
+0

Я использовал ваш XPath, но та же самая проблема возникла: FirePath говорит «да», Selenium говорит «Нет» .... – Eugene