ホームページ > ウェブフロントエンド > jsチュートリアル > Selenium WebDriver で JavaScript と XPath を使用して要素 InnerHTML を取得するにはどうすればよいですか?

Selenium WebDriver で JavaScript と XPath を使用して要素 InnerHTML を取得するにはどうすればよいですか?

DDD
リリース: 2024-11-28 22:35:11
オリジナル
821 人が閲覧しました

How Can I Get Element InnerHTML Using JavaScript and XPath in Selenium WebDriver?

Selenium WebDriver で JavaScript を使用して XPath で要素を取得する

Selenium WebDriver/Java 内で JavaScript を使用して要素の innerHTML を取得するには (WebDriver はそれらを見つけることができません)、複数あります

document.evaluate() を使用した XPath 評価

広く採用されている方法には、document.evaluate() 関数を使用します。これにより、XPath 式文字列の評価が可能になり、可能な場合は指定された型に基づいた結果が返されます。これを利用する方法の例を次に示します。

function getElementByXpath(path) {
  return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}

console.log( getElementByXpath("//html[1]/body[1]/div[1]") );
ログイン後にコピー

この例では、XPath 式「//html[1]/body[1]/div[1]」は、その中の最初の div 要素を取得します。

DOM を使用したカスタム実装Traversal

もう 1 つのオプションは、XPath 式に基づいてドキュメント オブジェクト モデル (DOM) を走査するカスタム関数を作成することです。このアプローチにより、より複雑な XPath 式を処理する場合、または document.evaluate() が特定の要件を満たさない場合に、より高い柔軟性が得られます。基本的な実装は次のとおりです。

function getElementByXpathCustom(path) {
  // Implementation details for DOM traversal go here
}
ログイン後にコピー

どちらの方法にも異なる利点があり、特定の使用例に応じて適切な場合があります。 document.evaluate() を使用した XPath 評価は簡単であり、多くの状況で十分です。カスタム実装では、より多くの制御およびカスタマイズのオプションが提供されます。

ID 属性の考慮事項

ID 属性の使用は一般的なアプローチですが、すべての要素に次の要素が含まれるわけではないことに注意することが重要です。 ID 属性。このような場合、XPath またはカスタム DOM トラバーサル関数を利用すると、他の属性や DOM 内の構造的関係に基づいて要素を取得できます。

以上がSelenium WebDriver で JavaScript と XPath を使用して要素 InnerHTML を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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