Как автоматизировать Shadow DOM с несколькими теневыми корнями с помощью платформы Selenium JavaCSS

Разбираемся в CSS
Ответить
Anonymous
 Как автоматизировать Shadow DOM с несколькими теневыми корнями с помощью платформы Selenium Java

Сообщение Anonymous »

2.Я также использую платформу Selenium Java для автоматизации тестирования, и недавно приложение было обновлено до Shadow DOM с использованием шафрана. Мы попытались автоматизировать использование исполнителя javascript querySelector. Приложение имеет более 20 теневых корней на одной странице, и большинство теневых корней являются дочерними по отношению к предыдущему корню. Таким образом, чтобы идентифицировать элемент, нам нужно пройти через множество корней, как в document.querySelector('root1').shadowRoot.querySelector('root2')....как и мудро, до n-го корня, чтобы найти элемент.

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

WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement shadowHost = wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".PersonaSelectionPage-button")));

SearchContext shadowRoot = shadowHost.getShadowRoot();
WebElement controlBtn = shadowRoot.findElement(By.cssSelector(".control"));

// Use JS to click the actual element
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", controlBtn);
Thread.sleep(4000);

Не могли бы вы рассказать о других решениях для автоматизации Shadow DOM с использованием селена.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ava-framew
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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