这是我的表结构:
<form id="tableSection" enctype="application/x-www-form-urlencoded" action="/c4i-web-ABCDE/secured/user/users.xhtml" method="post" name="tableSection">
<input type="hidden" value="tableSection" name="tableSection">
<div class="clearfix">
<div id="tableSection:dataTableWrapped" class="ui-datatable ui-widget has-3-cols c4i-ui-dataTable ui-datatable-resizable">
<table role="grid">
<thead>
<tfoot>
<tbody id="tableSection:dataTableWrapped_data" class="ui-datatable-data ui-widget-content">
<tr class="ui-widget-content ui-datatable-even" aria-selected="false" role="row" data-rk="7c6c1565-4e8a-456a-8d89-30e2c93be5c3" data-ri="0" style="cursor: pointer;">
<td class="ac" role="gridcell" style="width: 350px;">
<div class="ui-dt-c">happy</div>
我已经尝试了以下两种 Xpath:
"//div[@id='tableSection:dataTableWrapped']/tr[td//text()[contains(., 'happy')]]"
"//form[@id='tableSection']/div[@class*='ui-datatable']//td[text()='happy']"
两者都在 Selenium2 中返回 Stale Element 错误:
org.openqa.selenium.StaleElementReferenceException:在缓存中找不到元素 - 页面可能在查找后已更改
找到该行后,我只是启动一个简单的 .click() 命令来选择它。任何帮助表示赞赏!