ロケーターを扱うヒント
どのロケーターをいつ使用するか、またコード内でそれらを最適に管理する方法について。
サポートされているロケータ戦略の例をご覧ください。
一般的に、HTML ID が利用可能で、一意で、一貫して予測可能な場合、それらはページ上の要素を特定するための推奨される方法です。それらは非常に高速に動作する傾向があり、複雑な DOM トラバーサルに伴う多くの処理を省略できます。
一意の ID が利用できない場合、適切に記述された CSS セレクターが要素を特定するための推奨される方法です。XPath は CSS セレクターと同様に機能しますが、構文が複雑で、デバッグが難しいことがよくあります。XPath セレクターは非常に柔軟ですが、ブラウザベンダーによるパフォーマンス検証は通常行われておらず、かなり遅くなる傾向があります。
linkText および partialLinkText に基づく選択戦略には、リンク要素でのみ機能するという欠点があります。さらに、WebDriver 内で内部的に querySelectorAll セレクターを呼び出します。
タグ名は、要素を特定する危険な方法となる可能性があります。ページ上に同じタグの要素が複数存在する頻度が非常に高いためです。これは主に、要素のコレクションを返す findElements(By) メソッドを呼び出す場合に役立ちます。
推奨事項は、ロケーターを可能な限りコンパクトで読みやすい状態に保つことです。WebDriver に DOM 構造のトラバースを要求することはコストのかかる操作であり、検索範囲を狭めるほど効果的です。