我需要执行以下方案:有一个表单,其中数据以多行输入,每个记录都有自己的按钮,我需要根据电子邮件地址单击特定记录。
HTML来源:
AppBundle\Entity\User
这是我到目前为止所尝试过的,但它总是只选择第一条记录。
<div id="daily-sales-graph">
<table class="graph" align="center">
<tbody>
<tr>
<th style="width: 25px;"></th>
<th style="width: 170px;">
<h2 align="center" style="white-space: nowrap"> ORDER NUMBER</h2>
</th>
<th style="width: 60px;">
<h2 align="center"> AMOUNT</h2>
</th>
<th style="width: 100px;">
<h2 align="center" style="white-space: nowrap"> ORDER DATE</h2>
</th>
<th>
<h2 align="center" style="white-space: nowrap"> LAST CALLED</h2>
</th>
<th>
<h2 align="center" style="white-space: nowrap"> SECURITY CODE</h2>
</th>
<th>
<h2 align="center" style="white-space: nowrap"> CUSTOMER'S EMAIL ADDRESS</h2>
</th>
<th style="width: 74px;"></th>
</tr>
<tr class="rowHighlight">
<td style="font:12px arial,sans-serif;background-color: Maroon; color:white;"></td>
<td>ORD2014236247112436</td>
<td>$30.00</td>
<td>23-Jun-2014</td>
<td>23-Jun-2014</td>
<td>5865</td>
<td>uatmigrationCust@mailinator.com</td>
<td>
<input type="button" value="OPEN" name="ordDetails" class="button" disabled=""disabled"" onclick="OpenWind('/CRMProcessing/New-Order-Detail-NS2?customerid=20311&ordId=41203&AffiliateId=2041')">
</td>
</tr>
答案 0 :(得分:0)
我对这类事情的建议是使用带有nth-child()功能的CSS Selector。
我的JSFiddle有一个基本的例子。
You just have to change the value of the nth-child(**i**)
答案 1 :(得分:0)
使用xapth以下,它应该可以工作(你可以参数化电子邮件ID):
//td[text()='uatmigrationCust@mailinator.com']/following-sibling::td/input
答案 2 :(得分:0)
尝试采用绝对xpath。根据您的要求,数据在表中。每行的xpath将相差tr(例如:tr [1] / td [2])并表示将tr值更改为循环variable.Loop直到表的最后一行。
for(int i=1;i<rows.length;i++)
{
WebElement element="//html/body/div[3]/div/div/div/div[1]/tr["+i+"]/..../input"
element.click;
}
通过这个片段你可以遍历表格的最后一行。 希望在此之后你可以继续......