java - 从 List 集合中删除一些单词
问题描述
我正在对一个网页进行硒测试,该网页返回一个表格,其中一些行和列显示支付数据。我正在尝试从我正在使用的 XPATH 的结果中删除一些字符/单词,因为在进行断言时我不需要该部分(检查表中的数据是否正确)。
通常,网页还会在标识号之前返回一个“下拉按钮”作为文本(有一个图标)(例如,如下所示的 168.3285.6021)。我使用的是 it.set(it.next().replaceAll("DropDown Arrow ","")); 因此 DropDown Arrow 文本被替换为任何内容,仅适用于第一行,但其他 2 行不会被替换。有小费吗?
public void check_receivals() {
// Check how many lines and assert the size (from xpath)
List<WebElement> Receivals = driver.findElements(By.xpath("//*[@id='received-overview']//div[@class='bdpo-overview-table-row']/div[@class='claims']"));
System.out.println(Receivals.size() + " receival lines found");
assertEquals(7, Receivals.size());
// Test data to compare against..aka expectedResultList
List<String> expectedResultList = new ArrayList<>();
expectedResultList.add ("168.3285.6021\n" + "Payment 2015\n" + "01-01-2015\n" + "€ 246");
expectedResultList.add ("143.8407.8413\n" + "Payment 2015\n" + "01-01-2015\n" + "€ 233");
expectedResultList.add ("154.2841.2407\n" + "Payment 2015\n" + "01-01-2015\n" + "€ 253");
// Assert
List<WebElement> ReceivalLines = driver.findElements(By.xpath("//*[@id='received-overview']//div[@class='bdpo-overview-table-row']/div[@class='claims']"));
List<String> ReceivalLines_List = ReceivalLines.stream().map(WebElement::getText).collect(Collectors.toList());
ListIterator<String> it = ReceivalLines_List.listIterator();
while(it.hasNext()) {
it.set(it.next().replaceAll("DropDown Arrow ",""));
assertEquals(ReceivalLines_List, expectedResultList);
解决方案
问题是您正在修改迭代器,因为您正在使用它。我建议使用 map 函数进行流操作的替换部分。
List<String> ReceivalLines_List = ReceivalLines.stream().map(WebElement::getText).map(s -> s.replaceAll("DropDown Arrow ","")).collect(Collectors.toList());
推荐阅读
- python - 从 Python 线程使用 PostgreSQL 的正确方法是什么?
- python - python firebase使用where查询更新项目
- html - 使用角度路由时不会发生重定向
- python - Python Pandas - “loc”和“where”之间的区别?
- java - 在自定义视图中绘制描边形状
- ios - 理解具有泛型约束的泛型
- cython - cython 的 setup.py 中的 language_level 有什么作用?
- mysql - 如何根据条件对 MySQL 中的行进行分组
- c# - DI & MVC:控制器中的依赖注入有什么意义?
- java - Maven:在 pom.xml 中编译外部依赖项