大きなDOM(1000行、〜10,000ノード)のページでセレンを使用しています。私は要素が存在するかどうかを判断しようとしていますが、これはDOMのほぼ終わりにあります。最後の要素の大きいDOMを検索する
<html>
<body>
<section></section>
<script></script>
<span>
// several more wrappers around the UL
<ul id="itemsList"></ul>
</span>
</body>
</html>
section
ノードがラインの99%が含まれています
構造はこのようなものです。
ULは常に同じ場所にあることを知っています。
私が使用していますXPathは次のとおりです。
//body/span//ul
ULが存在する場合、検索は< 500ミリ秒かかります。しかし、ULが存在しない場合は、検索に2〜5秒かかります。トラバーサルが同じように起こり、同じ時間がかかると私はこれを理解していません。
セレンを使用しているので、私もBy.Id
を使ってみましたが、これは同じ結果をもたらします。
コードに暗黙のタイムアウトがありますか? – Grasshopper
上記のコメントに加えて、getElementsByXpath(またはList)を使用してそのリストのサイズを確認することをお勧めします。 –
Mikhail
ハードドライブでルート(C:\)から始まるファイルを検索することを考えてください。 C:¥Users¥you¥Documents¥projects¥foobar¥meetingMinutes¥2015¥January¥ XPathで指定するDOM構造の数が多いほど、セレンが検索しなければならないパスの数が少なくなります。その検索が速くなります。 – MikeJRamsey56