Selenium を使用したシャドウ DOM 要素の自動化
Selenium Java 開発者として、ディープ シャドウ DOM 構造を持つ Web ページに遭遇すると、課題が生じる可能性があります。 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 中国語 Web サイトの他の関連記事を参照してください。