0

次のHTMLコードのスニペットがあります。

<div id="divTooltips_Section_Filter" style="float:right; padding-right: 30px; padding-bottom: 10px;">
<img src="/mkteditor/css/images/tooltip.png" width="25px" height="25px" alt="">
</div>

私はxpathを次のように書きました:

1. //*[@id='divTooltips_Section_Filter']/img
2. //div[@id='divTooltips_Section_Filter']/img

上記のxpathは両方とも正常に機能しました。それらの基本/主な違いは何ですか?WebDriverのパフォーマンスの問題はありますか?

4

1 に答える 1

1

最初のクエリは、ドキュメント内のすべての要素を検索し、id属性にフィルターを適用してから、フィルター処理されたimg要素のすべての子を検索します。

2番目のクエリdivは、ドキュメント内のすべての要素を検索し、id属性にフィルターを適用してから、フィルター処理された要素のすべてのimg子を検索しdivます。

2つのクエリは異なる結果を返す場合があります。

あなたの場合(入力として期待するドキュメントが与えられた場合)、2つのクエリが同じ結果を返すことがわかっている場合、属性のテストは次のようになるため、2番目のクエリのパフォーマンスが向上するはずです(XPathプロセッサが適切に実装されていない場合)。ドキュメント内の要素のサブセットに対して実行されます。

于 2012-10-23T08:42:41.850 に答える