2016-04-26 4 views
0

Я пытаюсь идентифицировать кнопку в angularjs. Ниже приведен код HTML. Как я дифференцирую эти кнопки с помощью селена. Я использую robotframework для автоматизации, но это не имеет значения, пока кто-то может помочь в идентификации этих элементов/кнопок с помощью селектора css или xpath или любых других средств, которые помогают идентифицировать их однозначно.Angularjs: идентификация кнопки в Selenium

Я 4 кнопки Mr миссис Ms Другие

Html для 4, как показано ниже

<button ng-repeat="choice in question.choices" ng-class="{selected: isSelected(choice.value)}" ng-click="selectAnswer(choice)" tabindex="1" class="ng-scope"><span fittext=".8" fittext-max="16" class="ng-scope ng-binding" style="display: inline-block; white-space: nowrap; line-height: 1; font-size: 16px;">Mr</span></button> 

<button ng-repeat="choice in question.choices" ng-class="{selected: isSelected(choice.value)}" ng-click="selectAnswer(choice)" tabindex="1" class="ng-scope"><span fittext=".8" fittext-max="16" class="ng-scope ng-binding" style="display: inline-block; white-space: nowrap; line-height: 1; font-size: 16px;">Mrs</span></button> 

<button ng-repeat="choice in question.choices" ng-class="{selected: isSelected(choice.value)}" ng-click="selectAnswer(choice)" tabindex="1" class="ng-scope"><span fittext=".8" fittext-max="16" class="ng-scope ng-binding" style="display: inline-block; white-space: nowrap; line-height: 1; font-size: 16px;">Ms</span></button> 

<button ng-repeat="choice in question.choices" ng-class="{selected: isSelected(choice.value)}" ng-click="selectAnswer(choice)" tabindex="1" class="ng-scope"><span fittext=".8" fittext-max="16" class="ng-scope ng-binding" style="display: inline-block; white-space: nowrap; line-height: 1; font-size: 16px;">Other</span></button> 
+0

HTML для 4, как показано ниже кнопки <нг-повтора = "выбор в question.choices" нг-класса = "{выбрано: IsSelected (choice.value)}" нг кнопкой мыши =» selectAnswer (выбор) "tabindex =" 1 "class =" ng-scope "> Mr Nagendra

+0

Nagendra

+0

Nagendra

ответ

0

RobotFramework способ найти одну из этих кнопок будет b е

Click Button xpath=//span[text()="Mr"]/parent::button 
+0

спасибо Джиму .... это.. работал ... спасибо heaps..s есть возможность использовать CSS-селектор вместо xpath? – Nagendra

+0

Вы можете выбрать все 'buttons' (' css = button'), а затем прокрутить их до тех пор, пока не найдете тот, который вам нужен, но это это очень плохая идея. CSS не может использоваться для поиска по элементу text – jim

+0

ok..thank you ... – Nagendra

1

Вы можете определить <span> в кнопках в тексте и нажмите на нее

driver.findElement(By.xpath("//span[text()='Mr']")); 
driver.findElement(By.xpath("//span[text()='Mrs']")); 
//... 
+0

Вы определили срок, а не кнопку – jim

+0

@jim Да, я знаю, что мой ответ refraze – Guy

+0

спасибо Guy, джим ... – Nagendra

-1
// first take each button inside the list 
List<WebElement> myButton = driver.findElements(By.className("ng-scope")); 
System.out.println("Size of the button the webpage is : " + myButton.size()); 
// now you can click button on the basis of index like below 

myButton.get(0).click(); // for first button 
myButton.get(1).click(); // for second button 
myButton.get(2).click(); // for third button 
myButton.get(3).click(); //For Forth Button 
+0

'ng-scope' - очень плохой способ выбрать что-то в приложении с угловым – jim

+0

спасибо bhargav ... – Nagendra

Смежные вопросы