2016-09-21 12 views
0

たとえば、テキストノードや属性値にある特定の文字列を検索するなどの特定の情報について、DOM(ウェブサイト)を解析したいと考えています。私はXPathを使ってこれをやっています。 DOMとXPathの両方は、ドキュメントのXML構造を使用します。XPathでDOM情報を解析する

これは有効な手順ですか、XPathはDOMにある同じ情報で動作しますか? XPathの使用とDOMの構文解析の違いは何ですか?

私は現在、findElements(By.xpath(QUERY))でSelenium WebDriverを使用していますが、これは非常に便利ですが、私が気づいていないコンテンツを見落とす可能性があるかどうかは疑問でした。 。

答えて

0

有用なblog about locator stategiesです。

合計すると:できるだけ早くid(findElements(By.id("id")))を使用してください。そうでない場合は、CSSロケータ(findElements(By.cssSelector("css")))を使用してください。 Xpathは最後の手段と考えられています。

+0

ありがとうございます!しかし、私は未知のウェブサイトを解析しているので、IDを使用することは選択肢ではありません。私はそれらを見つけて再利用するのではなく、むしろキーワードを探したいと思っています。これらが一意でない場合、問題はありません、私は単に複数の一致を返します。あなたのリンクはロケータの責任に関してかなり深く関わっていますが、DOMの情報とXPathリクエストの結果との類似点や相違点に興味があります。 (同様に、一方には情報がありますが他方には情報はありません)。しかし、返信いただきありがとうございます! – Peter1807