コボットPortal

XPathの評価

XPathの記述を確認する方法です。

目次
  1. XPathの評価
  2. テキストを指定し要素を指定


1. XPathの評価

想定した要素を XPathで正しく指定できたか、Chromeで確認する事ができます。コボットで記述したい XPathが、想定した要素を指定できるか確認を行う事もできます。

Google Chromeに搭載されている「デベロッパーツール」の「Console」を使用し、XPathを評価します。「Console」で XPathを評価する場合の記述は以下です。

$x('xpath')


Chromeでバイトル(https://www.baitoru.com/)を開きます。


「F12 」キーを押下し「デベロッパーツール」を開き、「Console」タブをクリックします。

※ブラウザのメニューから「デベロッパーツール」を開く場合


XPath「//*[@id="link_job_list_pc_all_all_prefectures_1"]/a」を評価してみましょう。この XPathは、バイトルのトップページにあるエリア選択の「東京都」の要素を指定する XPathです。(「XPathの基本」で取得した XPathです。)Consoleに以下を入力します。
$x('//*[@id="link_job_list_pc_all_all_prefectures_1"]/a')


「Enterキー」を押下し実行します。入力した次の行に、実行結果が表示されます。実行結果をクリックで展開し、確認してみましょう。


展開した結果の a要素にマウスオーバーすると、ページ内の要素がハイライトされます。「東京都」の UIがハイライトされました。XPathが正しく記述できていた事が確認できました。


2. テキストを指定し要素を指定

要素を指定する時、id属性の値がわからない場合もあります。先ほどと同じ要素を指定する XPathを「"東京都"の文字列がある要素」と指定したい場合の記述方法について確認してみましょう。


テキストが「東京都」の要素を指定したい場合、ノードの種類を評価する関数「text()」と比較演算子「=」を使用します。記述は「//*[text()="東京都"]」となります。Consoleに以下を入力し、想定した要素が正しく指定できるか確認してみましょう。
$x('//*[text()="東京都"]')


実行結果を展開し確認します。先ほどと同じ要素を指定する事ができました。今回はページ内に「東京都」のテキストが一つしかないため、実行結果は一つの要素となりました。該当する要素が複数ある場合、実行結果は複数の要素になります。(例えば、「$x('//*[text()]')」を実行すると、複数の実行結果となります。XPath「$x('//*[text()="東京都"]')」は、「$x('//*[text()]')」を実行した複数の要素から、さらに「東京都」と一致するものを指定するものになります。)

印刷
徳田 is the author of this solution article.

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てなくて申し訳ありません。フィードバックを残し、このアーティクルを改善するのにどうかご協力ください。