Com*_*rit 4 javascript css angularjs protractor
HTML代码
<div class="check-box-panel">
<!--
ngRepeat: employee in employees
-->
<div class="ng-scope" ng-repeat="employee in employees">
<div class="action-checkbox ng-binding">
<input id="John" type="checkbox" ng-click="toggleSelection(employee.name)"
ng-checked="selection.indexOf(employee.name) > -1" value="John"></input>
<label for="John">
::before
</label>
<!--
John
end ngRepeat: employee in employees
-->
<div class="ng-scope" ng-repeat="employee in employees">
<div class="action-checkbox ng-binding">
<input id="Jessie" type="checkbox" ng-click="toggleSelection(employee.name)"
ng-checked="selection.indexOf(employee.name) > -1" value="Jessie"></input>
<label for="Jessie"></label>
Run Code Online (Sandbox Code Playgroud)
我尝试使用jQuery
element(by.repeater('employee in employees')).element(by.id('Jessie')).click();
Run Code Online (Sandbox Code Playgroud)
另外,我尝试使用CSS
element(by.repeater('employee in employees')).$('[value="Jessie"]').click();
Run Code Online (Sandbox Code Playgroud)
但它没有完成这项工作.我可以点击特定的复选框的任何其他方式?
好吧,我有一个非常类似的问题,我无法点击复选框.事实证明我必须单击复选框标签.但是,如果要对选中复选框进行任何检查,则必须检查实际的复选框.我最终制作了两个变量,一个用于标签,一个用于实际复选框.
JessieChkbxLabel = element(by.css("label[for='Jessie']"));
JohnChkbxLabel = element(by.css("label[for='John']"));
//Click the Jessie checkbox
JessieChkbxLabel.click();
//Click the John checkbox
JohnChkbxLabel.click();
Run Code Online (Sandbox Code Playgroud)
您应该只需要使用 element(by.id('Jessie')) 来获取您的对象。您可能遇到的问题是 click() 返回一个承诺,因此您需要使用 .then 来处理它。所以大致如下:
element(by.id('Jessie')).click().then(function(value) {
// fulfillment
}, function(reason) {
// rejection
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20375 次 |
| 最近记录: |