使用Selenium 自動化Shadow DOM 元素
身為一個Selenium Java 開發人員,遇到具有深層網頁Shadow DOM 結構的網頁可能會帶來挑戰。使用 findElement 方法在這些嵌套 DOM 中定位元素並與之互動可能很困難。
無效的解決方案:
Selenium 4 解決方案:
Selenium 4 引入了一個使用 WebElement 的解決方案。 getShadowRoot()。此方法可讓您導航至影子 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中文網其他相關文章!