首頁 >web前端 >js教程 >Selenium 4 的「WebElement.getShadowRoot()」如何解決 Shadow DOM 自動化挑戰?

Selenium 4 的「WebElement.getShadowRoot()」如何解決 Shadow DOM 自動化挑戰?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-03 20:34:16850瀏覽

How Can Selenium 4's `WebElement.getShadowRoot()` Solve Shadow DOM Automation Challenges?

使用Selenium 4 的WebElement.getShadowRoot() 方法實作Shadow DOM 自動化

問題:Selenium 的findElement 方法被證明不足以與嵌findElement套陰影互動- Java Selenium 中的根DOM元素

嘗試的解決方案:

  • 深層CSS(在最新的Chrome 瀏覽器中無效)
  • JS 執行器(由於維護挑戰而不切實際)

硒4解決方案:

Selenium 4 引入了 WebElement.getShadowRoot() 方法,可以直接導航到影子根元素。語法如下:

driver.findElement(By.id("parentId")).getShadowRoot().findElement(By.cssSelector("label")).findElement(By.tagName("input"))

導航注意事項:

  • By.cssSelector() 和By.className() 是可行的導航選項Shadow-root 。
  • 但是,By.id() 和 By.tagName() 會觸發「無效」參數」錯誤。

以上是Selenium 4 的「WebElement.getShadowRoot()」如何解決 Shadow DOM 自動化挑戰?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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