2013-04-08 2 views
0

я должен проверить динамическое приложение с помощью кнопки так:Ошибка определения местоположения кнопки с помощью Xpath?

<button class="btn btn-primary btn-mini" ng-click="addAnswer(question)" ng-show="question.editing">Add Answer</button> 

Я пытался кнопку, чтобы найти с этим, но я не смог

getDriver().findElement(By.xpath("//img [@ng-click='addAnswer(question)']")).click(); 

с помощью CSS

Список AddAnswerBtn = getDriver(). FindElements (By.className ("btn-primary")); AddAnswerBtn.get (0) .click();

Какая правильная линия для его поиска? Я не хочу искать его с помощью класса, и я хочу использовать Xpath для определения местоположения кнопки.

+0

Как это провал? Это дало исключение? Ничего не делать? Найдите неправильный элемент? Какие? – Arran

+0

У меня есть несколько кнопок класса css ... так что я dnt хочет использовать его с помощью класса и используя xpath, я не смог найти его –

+0

браузер chrome и xp –

ответ

1

Ваш пример показывает, что это кнопка, но ваш XPath ищет изображение:

//img[@ng-click='addAnswer(question)'] 

выше, что вы используете, с IMG как тип элемента.

Изменить это на button.

+0

ok im using this getDriver(). FindElement (By.xpath ("// кнопка [@ нг-клик = 'addAnswer (вопрос)'] ")) нажмите(). но он также не работает –

+0

не работает ни один другой вариант –

+0

Используя Chrome v26, я могу его найти. Вы можете проверить, есть ли у Chrome проблемы с XPath. Откройте вкладку «Инструменты разработчика», находясь на своей странице, перейдите на вкладку «Консоль» в консоли типа '$ x (« // кнопка [@ ng-click = 'addAnswer (question)'] ")' и нажмите Enter. Посмотрите, что вы вернетесь. Здесь XPath отлично работает. – Arran

0

Xpath не работает должным образом в браузере Chrome. Используйте драйвер firefox, чтобы найти его, если вы не уверены, что ваш xpath правильный, используйте Firepath. Или в Chrome Xpath Helper.

0

Ваш xpath относится к изображению, а не к кнопке.

getDriver().findElement(By.xpath("//img [@ng-click='addAnswer(question)']")).click(); 

Изменить это

getDriver().findElement(By.xpath("//button[@ng-click='addAnswer(question)']")).click(); 
Смежные вопросы