Как взаимодействовать с теневым корневым элементом DOM в Chrome с помощью VBA

#vba #selenium #selenium-webdriver #dom #selenium-chromedriver

#vba #selenium #selenium-webdriver #dom #selenium-chromedriver

Вопрос:

Я пытаюсь взаимодействовать с элементом на этой странице, но не могу, я понял, что это произошло из-за #shadow-root.

Но я до сих пор не знаю, как взаимодействовать с этими вещами.

Кроме того, я хотел бы знать, как заставить его работать с VBA

Вот ссылка, например: https://books-pwakit.appspot.com /

Спасибо

Ответ №1:

 element=driver.ExecuteScript(
    "return document.querySelector('csslocator').shadowRoot.querySelector('csslocator')")
 

вы должны найти корневой элемент, который имеет корень shadowow, а затем вызвать для него shadowRoot, а затем снова вызвать querySelector, чтобы найти в нем определенный элемент

Это связано с тем, что shadowdom не является частью DOM

Комментарии:

1. Большое спасибо, я наконец-то нашел ответ по вашему совету и теперь научился находить правильный путь в консоли. Кроме того, правильным для selenium должно быть значение Set element = d.executeScript(«вернуть документ. querySelector(‘book-app’).shadowRoot. querySelector(‘app-header> app-toolbar.toolbar-bottom’). querySelector(‘book-input-decorator’). querySelector(‘input’)»)