表格中有几行,我需要通过匹配以下文字来点击行的编辑链接:name1
我无法找到'编辑'这是在第一行。我尝试使用XPath和CSS找到元素,但它没有用。
这是我的HTML代码:
<tr ng-repeat="medication in modelCaseMed.medicationInfo" class="ng-scope odd" role="row">
<td class="ng-binding">name1</td>
<td class="ng-binding">04/06/2017</td>
<td class="ng-binding">04/28/2017</td>
<td class="ng-binding">12</td>
<td class="ng-binding">Hourly</td>
<td class="ng-binding">1</td>
<td>
<a href="" ng-click="addMedication(medication, 'edit')">
<i class="fa fa-pencil-square-o"></i> Edit</a> |
<a href="" ng-click="deleteMedication(medication, 'Modify')">
<i class="fa fa-trash"></i> Delete</a>
</td>
</tr>
是否可以帮助我匹配行中的name1
文本,然后点击第一行的编辑链接?
答案 0 :(得分:0)
尝试以下代码,
element.all(by.repeater("medication in modelCaseMed.medicationInfo")).filter(function(_tableRow){
return _tableRow.element(by.css("td:nth-child(1)")).getText().then(function(name){
return name == "name1"; //replace it with the required name;
});
}).first().element(by.css("i.fa-pencil-square-o")).click();
答案 1 :(得分:0)
另一种方法是使用文字tr
获取name1
,然后使用文字anchor
找到Edit
:
var elmTR = element.all(by.cssContainingText('tr', 'name1')).last();
var elmEdit = elmTR.element(by.cssContatingText('a', 'Edit'));
elmEdit.click();