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

Selenium 4 はどのようにして Shadow DOM 要素との対話を簡素化できるのでしょうか?

Barbara Streisand
リリース: 2025-01-01 07:59:09
オリジナル
318 人が閲覧しました

How Can Selenium 4 Simplify Interaction with Shadow DOM Elements?

Selenium Java でのシャドウ DOM 要素の自動化

マルチレベルのシャドウ ルート DOM 要素を利用する Web ページが大量にあるにもかかわらず、それらの要素と対話するSelenium を使用した findElement は困難であることが判明しました。ディープ CSS や JS Executor などの従来のメソッドは効果がないか、扱いにくくなりました。

Selenium 4 で getShadowRoot() メソッドが導入されました

Selenium バージョン 4 では、重要な進歩がもたらされ、 WebElement.getShadowRoot() メソッド。このメソッドは、Shadow DOM 要素にシームレスに移動する方法を提供します。コード例は次のとおりです。

driver.findElement(By.id("parentId")).getShadowRoot().findElement(By.cssSelector("label")).findElement(By.tagName("input"));
ログイン後にコピー

このスニペットは、ID「parentId」を持つ親要素内を移動し、そのシャドウ ルートに入り、シャドウ ルート内のラベル要素を見つけて、最後にその中の入力要素を選択します。 label.

シャドウ ルートに入ると、ナビゲーション オプションが制限されることに注意することが重要です。 Chrome の場合、By.cssSelector() と By.className() のみがサポートされますが、By.id() と By.tagName() は org.openqa.selenium.InvalidArgumentException を引き起こす可能性があります。

以上がSelenium 4 はどのようにして Shadow DOM 要素との対話を簡素化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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