如何点击 <Td> 元素

How to click on a <Td> element

我要点击下方table的AutoTestSKU。我如何使用 selenium Java?

<tr class="poslist-item" onclick="callManage(this, 'a[id$=linkManageProduct]')">
<tr class="poslist-item" onclick="callManage(this, 'a[id$=linkManageProduct]')">
<tr class="poslist-item" onclick="callManage(this, 'a[id$=linkManageProduct]')">
   <td>
      <input id="listProductform:productItemRepeat:2:checkbox" class="toggle-checkbox" type="checkbox" onclick="event.stopPropagation();" value="true" name="listProductform:productItemRepeat:2:checkbox">
   </td>
   <td> Cash Withdraw </td>
   <td>AutoTestSKU</td>
   <td>AutoProductName</td>
   <td> 1 </td>
   <td> 999 </td>
   <td> 0 </td>
   <td> 0 </td>
   <td>
   <td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="row-fluid row-break">

我将使用 xpath 基于文本的搜索。我还发现元素加载问题在 webtables 中很常见,因此请确保根据需要使用 explicit 等待。参见 this 实现。

//td[.='AutoTestSKU']

. 使您能够直接指向 html 层次结构

中的父级

如果文本包含任何空格,它将不起作用。在这种情况下,您可以使用 xpath contains() 函数。

//td[contains(text(),'AutoTestSKU')]


WebElement myDynamicElement = (new WebDriverWait(driver, 10))
  .until(ExpectedConditions.presenceOfElementLocated(By.xpath("//td[contains(text(),'AutoTestSKU')]")));
myDynamicElement.click();