Доброго дня.
Столкнулся с такой проблемой, что элементы на странице представляют собой кашу, с которой трудно работать.
Суть в том, что есть раскрываемый список, представленный таблицей.
Элементы, скрытые под экспандером, само собой, на странице не видны. И элемент DOM’а не отображается до тех пор, пока не раскрыть список. Т.е. нельзя извлечь элемент сразу прописав xpath/другой метод к нему.
Я не программист, а только работаю с Java WebDriver, поэтому не знаю как данный метод “динамического” DOM’а называется. Я могу ошибаться, но это не Shadow DOM поскольку рут ведет в другое место, и вообще он пустой. И по-идее это не методология “скрытого” DOM, когда есть либо элемент на странице, но его нет в DOM, или нет на странице но есть в DOM.
Хотелось бы услышать, возможно ли при таких условиях пройтись по DOM к нужному элементу, чтобы взаимодействовать с ним? Либо можно как-то отобразить нужную ветку, чтобы можно было написать путь туда? Или может быть вы можете предложить другие варианты, чем обращение к DOM.
Если нужна уточняющая информация, пожалуйста, спрашивайте.
Для примера:
Список что-то вроде этого. С подкатегориями. Внутри чекбоксы, нужно проверить активирован бокс или нет, и опираясь от этого, совершить действия. До раскрытия списка, элементы подкатегории (ветки) не видны нигде.
Доп. информация:
Мне нужны только некоторые чекбоксы из списка. Я пробовал работать с List или извлечением массива, чтобы взять нужные позиции списка, но проблема, опять же, в раскрываемых категориях. Если категория раскрыта или закрыта, то количество и позиции боксов поменяются.
С выделением элементов на раскрытие категории (экспандеры) тоже есть проблемы, поскольку кроме них есть такие же другие элементы в списке, которые цепляются к их идентификатору (не ID, там class вроде или tagname) и также меняют свое количество в зависимости от раскрываемости списка.