我有许多测试可以验证搜索结果的排序顺序。除了一个特定的搜索,它们都可以正常工作。
问题在于,对于此搜索,每行都有一个自动生成的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获取该描述文本?
答案 0 :(得分:1)
不是取整个id值,而是取其静态的部分。
driver.findElement(By.cssSelector("tr[id*='search_result_row_']>td[class='description']")).getText();
每次都会返回 td 的内容。存储所有这些值,然后使用您的逻辑进行排序。
答案 1 :(得分:0)
您可以尝试使用xpath定位器而不是css定位器