Selenium WebDriver では、要素に ID 属性がない場合、XPath による要素の取得が困難になることがあります。この制限を克服するには、JavaScript の document.evaluate メソッドを利用して XPath 式を評価し、要素を取得します。
document.evaluate メソッドは、XPath 式文字列、評価対象のドキュメント、および結果の型を受け入れます。戻る。 XPathResult.FIRST_ORDERED_NODE_TYPE 定数をサポートし、式に一致する単一ノードを取得します。
ここでは、document.evaluate を利用して XPath によって要素を検索する関数の例を示します。
function getElementByXpath(path) { return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; }
呼び出しによりgetElementByXpath を適切な XPath 式で使用すると、目的の要素を取得できます。例:
console.log(getElementByIdByXpath("//html[1]/body[1]/div[1]")); // prints the div element
このメソッドは、ID 属性がない場合でも、Selenium WebDriver の XPath によって要素を取得する信頼性の高い方法を提供します。これは十分に文書化され標準化されており、ブラウザー間での互換性が保証されています。
以上がSelenium WebDriver で JavaScript を使用して XPath によって要素を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。