Как получить текст из тегов div

Вот альтернативный подход, который использует группировку для имитации сводной таблицы:

List<String> rights = inputArray.stream()
        .map(Pair::getRight)
        .distinct()
        .sorted()
        .collect(Collectors.toList());

List<Pair<String, Map<String, Boolean>>> mapping = inputArray.stream()
        .collect(Collectors.groupingBy(Pair::getLeft, 
                    Collectors.mapping(Pair::getRight, Collectors.toSet())))
        .entrySet().stream()
        .map(entry -> {
            Map<String, Boolean> values = new HashMap<>();

            rights.stream().forEach(v -> {
                values.put(v, entry.getValue().contains(v) ? Boolean.TRUE : Boolean.FALSE);
            });

            return Pair.of(entry.getKey(), values);
        }).collect(Collectors.toList());

И печать этой карты приводит к следующему:

rights.forEach(r -> System.out.print(r + " | "));
System.out.println();
mapping.forEach((key) -> {
    StringBuilder sb = new StringBuilder(key.getLeft() + " | ");
    rights.forEach(rr -> sb.append((key.getRight().get(rr) ? "      1" : "      0") + "|"));
    System.out.println(sb);
});

Результат:

            value1 | value2| value3| value4| 
argument1 |       1|      1|      0|      1|
argument2 |       0|      1|      0|      1|
argument3 |       1|      1|      1|      0|
0
задан ggorlen 19 January 2019 в 20:19
поделиться

1 ответ

Если вам нужна только линия SKU, вы можете попробовать использовать этот локатор:

//div[@class="item-list__meta"]/br[1]/preceding-sibling::text()
0
ответ дан Rain9333 19 January 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: