如何点击元素

时间:2015-02-03 16:37:28

标签: html selenium-webdriver

我想点击下表中的 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">

1 个答案:

答案 0 :(得分:2)

我将使用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();