Reddit.com NoSuchShadowRootException — но есть теневой кореньJAVA

Программисты JAVA общаются здесь
Anonymous
Reddit.com NoSuchShadowRootException — но есть теневой корень

Сообщение Anonymous »

Я тестирую функциональность Reddit, используя Java/Selenium/TestNG.
Мне очень трудно найти элемент кнопки «Присоединиться» на r/SoftwareEngineering. Сегодня утром мне показалось, что все идентификаторы элементов и CSS-селекторы, которые у меня работали раньше, просто перестали работать. Я не менял никакого кода и ничего не менял в драйвере браузера, который использую. Итак, я начал заново.
Теперь мне удалось войти в систему, использовать панель поиска и перейти к r/SoftwareEngineering. Я хочу присоединиться к сабвуферу с помощью кнопки «Присоединиться». Однако я не могу его найти. Оно гнездится в теневых корнях. Вчера мне помогли с использованием вложенных теневых корней для поиска элементов.
Автоматическое тестирование с использованием Selenium, TestNT, Java – Reddit.com – кнопка "Войти" во всплывающем окне
Теперь кажется, что элементы теневого корня просто исчезают случайным образом. То есть мне удалось найти теневой корень изначально, используя следующий код:

Код: Выделить всё

WebElement joinButton = driver.findElement(By.xpath("/html/body/shreddit-app/dsa-transparency-modal-provider/report-flow-provider/div/div[1]/div[1]/section/div/div[2]/shreddit-subreddit-header-buttons"));
SearchContext shadowRoot = joinButton.getShadowRoot();
joinButton = joinButton.findElement(By.xpath("//div/faceplate-tracker/shreddit-join-button//button"));
Но каким-то образом при следующем запуске теста я получил исключение NoSuchShadowRootException, хотя явно имеется теневой корень.

Код: Выделить всё

#shadow-root (open) ==$0



"Join"


Любая помощь приветствуется!

Подробнее здесь: https://stackoverflow.com/questions/782 ... hadow-root

Вернуться в «JAVA»