【发布时间】:2021-10-26 21:55:06
【问题描述】:
我在对 Web 元素进行排序时遇到问题,来自网站的排序元素的顺序与来自我的排序列表中的元素的顺序不同。
结果: 我的排序字符串列表:
[0 0, 1 1, A A, A A, A A, AAAA, AAAA, Cascasc Aaaaa, Jan Jankowski, Jan Janowski, Jan Kon, Jan kowalski, pp]
来自网站的字符串列表:
[0 0, 1 1, A A, A A, A A, AAAA, AAAA, Cascasc Aaaaa, Jan Jankowski, Jan Janowski, Jan kowalski, Jan Kon, pp]
不同的顺序:
Jan Kon, Jan kowalski
我的排序字符串列表:
[0 0, 464 464, A A, A A, a a, a a, a a, a b, a s, aa a, abv sada, ala Janka, ala ola, anna, anna, anna, bankowa]
来自网站的列表:
[0 0, 464 464, a a, a a, a a, a b, a s, aa a, abv sada, ala Janka, ala ola, anna, anna, anna, bankowa, A A, A A]
不同的顺序:
A A, A A
代码:
getObtainedList(String css){
ArrayList<String> obtainedList = new ArrayList<>();
List<WebElement> elementList= driver.findElements(By.CssSelector(css));
for(webElement we:elementList){
obtainedList.add(we.getText);
}
}
getSortedList(List list){
ArrayList<String> sortedList = new ArrayList<>();
for(String s:list){
sortedList.add(s);
}
}
List<String> obtainedList = getObtainedList(cssSelector);
List<String> sortedList = getSortedList(obtainedList);
Collections.sort(sortedList)
Assert.assertEquals(sortedList, obtainedList)
【问题讨论】:
-
您是如何从网站检索数据的?你会为此分享你的代码吗?
-
您好,我添加了代码。类似于来自的第 3 个答案的代码:
-
如果您希望它们匹配,只需通过您的 collections.sort 方法运行收集的列表。好像他们在他们的比较器中做一个 toLower 或 toUpper ......在网站上。这可能是设计使然,但对我来说似乎是一个错误。
-
嗨,我也是这样做的,在我的帖子中的代码中。