ホームページ > Java > &#&チュートリアル > Selenium 4 はどのようにして Shadow DOM 要素を効果的に自動化できるのでしょうか?

Selenium 4 はどのようにして Shadow DOM 要素を効果的に自動化できるのでしょうか?

Linda Hamilton
リリース: 2024-12-21 00:39:11
オリジナル
295 人が閲覧しました

How Can Selenium 4 Effectively Automate Shadow DOM Elements?

Selenium を使用したシャドウ DOM 要素の自動化

Selenium Java 開発者として、ディープ シャドウ DOM 構造を持つ Web ページに遭遇すると、課題が生じる可能性があります。 findElement メソッドを使用して、これらのネストされた DOM 内の要素を見つけて操作するのは難しい場合があります。

非効率な解決策:

  • ディープ CSS:このアプローチは最新の Chrome では機能しなくなりました
  • JS Executor: 機能しますが、保守が面倒で複雑になる可能性があります。

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート