Selenium으로 Shadow DOM 요소 자동화
Selenium Java 개발자로서 깊은 Shadow DOM 구조가 있는 웹 페이지를 접하는 것은 어려운 일이 될 수 있습니다. findElement 메소드를 사용하여 이러한 중첩된 DOM 내의 요소를 찾고 상호 작용하는 것은 어려울 수 있습니다.
비효율적인 솔루션:
Selenium 4 솔루션:
Selenium 4는 WebElement를 사용한 솔루션을 도입합니다. getShadowRoot(). 이 방법을 사용하면 Shadow DOM 루트로 이동하여 해당 요소와 상호 작용할 수 있습니다. 예를 들어:
WebElement parent = driver.findElement(By.id("parentId")); WebElement child = parent.getShadowRoot().findElement(By.cssSelector("label")).findElement(By.tagName("input"));
제한 사항:
섀도 루트 내에서는 By.cssSelector() 및 By.className()을 사용할 수 있지만 By.id () 및 By.tagName()은 org.openqa.selenium.InvalidArgumentException을 발생시킵니다.
위 내용은 Selenium 4는 어떻게 Shadow DOM 요소를 효과적으로 자동화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!