我想点击任意一行的编辑按钮。例如,我想点击带有TRTL的记录的符号按钮。
我试过这样但我收到了错误;
base.Driver.findElement(By.xpath("//td[.='" + "TRTL" + "']/following-sibling::td//button[@data-original-title='Sign']")).click();
以下是" Sign
"的HTML源代码。按钮:
<div class="content content-narrow" css="1">
<div class="block" id="grdPendingMeetingList" style="">
<div class="block-header" style="">
<h3 class="block-title"></h3>
</div>
<div class="block-content">
<table class="js-table-sections table table-hover">
<thead>
<tr>
<th style="">Kararlar</th>
<th> </th>
</tr>
</thead>
<tbody style="">
<tr>
<td style="">
<!-- react-text: 1067 -->TRTL
<!-- /react-text -->
<!-- react-text: 1068 -->-
<!-- /react-text -->
<!-- react-text: 1069 -->14/02/2018 14:40 Tarihli Müzakereli Yönetim Kurulu Toplantısı Kararları
<!-- /react-text -->
</td>
<td class="text-center">
<div class="btn-group"><button class="btn btn-sm btn-default" type="button" data-toggle="tooltip" title="" data-original-title="Sign"><!-- react-text: 1073 --> <!-- /react-text --><i class="fa fa-pencil"></i></button><button class="btn btn-sm btn-danger" type="button"
data-toggle="tooltip" title="" data-original-title="Delete"><i class="fa fa-trash"></i></button></div>
</td>
</tr>
</tbody>
</table><button class="btn btn-default push-10-r push-20" id="btnBack" type="button" style=""><i class="si si-arrow-left"></i><!-- react-text: 1079 --> <!-- /react-text --><!-- react-text: 1080 -->Geri<!-- /react-text --></button></div>
</div>
</div>
&#13;
答案 0 :(得分:0)
要点击文字为签名的按钮,您可以使用以下代码行:
base.Driver.findElement(By.xpath("//td[.,='TRTL']//following::td[1]//button[@class='btn btn-sm btn-default' and contains(.,'Sign')]/i[@class='fa fa-pencil']")).click();
答案 1 :(得分:0)
试试这个:
base.Driver.findElement(By.xpath("//[@id="grdPendingMeetingList"]/div[2]/table/tbody/tr/td[2]/div/button[1]")).click();
提示:请将签名和删除大小 Geri 。它们看起来非常小,几乎看不见。
答案 2 :(得分:0)
在这种情况下,我通常使用获取所有'td'并放入List中。然后我通过查找某个元素来进行循环,在您的情况下,“Sign”。当我找到所需的元素时,我会点击命令。下面给出一个例子。
List<WebElement> columns = dateWidget.findElements(By.tagName("td"));
for (WebElement cell : columns) {
if (cell.getText().equals("Sign")) {
cell.findElement(By.linkText(Sign)).click();
break;
}
}