从不断变化的id中获取值

时间:2012-09-28 15:20:42

标签: html selenium selenium-ide

我有许多测试可以验证搜索结果的排序顺序。除了一个特定的搜索,它们都可以正常工作。

问题在于,对于此搜索,每行都有一个自动生成的ID编号,每次执行搜索时都会更改。

我可以这样做:

storeText | css=search_result_row_23668680919600 > td.normal.description | N1

如果我正确运行测试,那么它就会成功。但是,如果尾部有任何后续运行时间,因为行中的数字每次都会改变。

HTML看起来像这样

<tr id="search_result_row_23668680919600">
 <td class="description">
   <a class="searchresultitem" href="/itemid"> Start of desription</a>
     <br>
       Rest of description
 </td>

如果每次运行搜索时该ID都会更改,我如何使用id获取该描述文本?

2 个答案:

答案 0 :(得分:1)

不是取整个id值,而是取其静态的部分。

driver.findElement(By.cssSelector("tr[id*='search_result_row_']>td[class='description']")).getText();

每次都会返回 td 的内容。存储所有这些值,然后使用您的逻辑进行排序。

答案 1 :(得分:0)

您可以尝试使用xpath定位器而不是css定位器