2015-08-31 1 views
1

у меня есть радио-кнопки, как, как я могу получить второй щелкнул найти сначала ng-model затем ng-value:Как найти элемент двумя атрибутами

<input type="radio" ng-model="vm.ist.educationVsInternship" ng-value=false /> 

<input type="radio" ng-model="vm.ist.educationVsInternship" ng-value=true /> 

Я пытался что-то вроде

element(by.model('vm.ist.educationVsInternship')).all(by.css('[ng-value=true]')).click(); 

говорит и не нажимает ни один из них

more than one element found for locator by.model("vm.ist.educationVsInternship") - the first result will be used 

и этот:

element(by.model('vm.ist.educationVsInternship')).element(by.css('[ng-value=true]')).click(); 

, который дает мне следующее сообщение об ошибке:

Ошибка: Нет элемент найден с помощью локатора: By.cssSelector ("[нг-значение = True]")

+0

попытка изменить селектор таким образом:. элемент (by.model ('vm.ist.educationVsInternship')) $ ('вход [нг-Валу Е. = Истина] ') нажмите(); –

+0

@isherwood Не кажется ли вам легче найти проблему в google, если 'protractor'keyword находится в заголовке? –

+0

http://meta.stackexchange.com/a/130208/247976 – isherwood

ответ

1

Вы можно комбинировать селекторы атрибутов, как это:

$('input[ng-model="vm.ist.educationVsInternship"][ng-value="true"]') 
+0

Это работает, спасибо большое. 'element (by.css ('input [ng-model =" vm.ist.educationVsInternship "] [ng-value =" true "]')). click();' равнозначно, я думаю –

+0

Да, '$' является ярлыком для 'element (by.css())' – finspin