首頁 > Java > java教程 > Selenium 4 如何簡化與 Shadow DOM 元素的交互作用?

Selenium 4 如何簡化與 Shadow DOM 元素的交互作用?

Barbara Streisand
發布: 2025-01-01 07:59:09
原創
326 人瀏覽過

How Can Selenium 4 Simplify Interaction with Shadow DOM Elements?

在Selenium Java 中自動化Shadow DOM 元素

儘管有大量的網頁使用多層影子根DOM 元素,但仍可以與它們進行交互事實證明,透過Selenium findElement 具有挑戰性。像 Deep CSS 和 JS Executor 這樣的傳統方法已經變得無效或麻煩。

Selenium 4 引入了 getShadowRoot() 方法

Selenium 版本 4 帶來了重大突破,引入了WebElement.getShadowRoot() 方法。此方法提供了一種無縫方式導航到陰影 DOM 元素。以下是一個程式碼範例:

driver.findElement(By.id("parentId")).getShadowRoot().findElement(By.cssSelector("label")).findElement(By.tagName("input"));
登入後複製

此程式碼片段導覽 ID 為「parentId」的父元素,輸入其影子根,在影子根中定位標籤元素,最後選擇其中的輸入元素標籤。

要注意的是,一旦進入影子根,導航選項就會受到限制。對於 Chrome,僅支援 By.cssSelector() 和 By.className(),而 By.id() 和 By.tagName() 可能會導致 org.openqa.selenium.InvalidArgumentException。

以上是Selenium 4 如何簡化與 Shadow DOM 元素的交互作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板