首頁 >Java >java教程 >Selenium 4 如何有效自動化 Shadow DOM 元素?

Selenium 4 如何有效自動化 Shadow DOM 元素?

Linda Hamilton
Linda Hamilton原創
2024-12-21 00:39:11265瀏覽

How Can Selenium 4 Effectively Automate Shadow DOM Elements?

使用Selenium 自動化Shadow DOM 元素

身為一個Selenium Java 開發人員,遇到具有深層網頁Shadow DOM 結構的網頁可能會帶來挑戰。使用 findElement 方法在這些嵌套 DOM 中定位元素並與之互動可能很困難。

無效的解決方案:

  • 深層 CSS:這種方法在現代 Chrome 瀏覽器中不再有效。
  • JS致動器:雖然功能齊全,但維護起來可能很乏味且複雜。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn