0

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

问题在于,对于此搜索,每一行都有一个自动生成的 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 获取该描述文本?

4

2 回答 2

1

与其取整个 id 值,不如取它的静态部分。

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

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

于 2012-09-28T16:11:26.707 回答
0

您可以尝试使用 xpath 定位器与 css 定位器

于 2012-10-09T21:51:24.117 回答