メインコンテンツにスキップ

XPath応用編 - 1.次へボタンを指定する

今週アップデートされました

ページ送りボタンの種類がいくつかありますが、今回はよく見かける3種類のページ送りボタンを指定する方法を紹介します。

1.「次へ」で表示するボタン

上記はよく見かける「次へ」ボタンで表示するサイトです。

このようなサイトから「次へ」ボタンを指定するXPathはより簡単に書けます。

a) 「次へ」ボタンを右クリックしてから、「検証」を選ぶと、ボタンのHTMLが下記のようです。

b) Ctrl+Fを押すと、検索バーが現れます。

XPathの書き方で紹介した「contains(text(),"XXX")」を使って指定すると、下記のように書くことができます。

//a[contains(text(),"次へ")]

※<a>タグは「リンクを設定する」を意味します。

💡ヒント:

  • 「次へ」や「次のページ」など、ボタンに表示されている名称で指定したい場合は、一般的にcontains(text(), "XXX") を使う方法が有効です。とても便利な方法ですので、ぜひご活用ください。

c) 上記のXPathをOctoparseのページネーションのXPath入力ボックスに入れ替えます。

💡ヒント:

  • 項目ループを選択すると、次に「ページネーション設定」のボタンが表示されます。
    こちらを利用すると、自動的に「次へ」ボタンの XPath を取得できますが、場合によってはカスタムXPath の調整が必要になることもあります。

  • ご不明な点がありましたら、XPathの作成チュートリアルをご確認いただくか、いつでも support@octoparse.comテクニカルサポートまでお問い合わせください。

2.「>」で表示するボタン

こちらのサイトは「>」で表示するボタンを設定しています。

「>」ボタンを右クリックしてから、「検証」を選ぶと、ボタンのHTMLが下記のようです。

例えば、//li[@class="pageicon"]と書きますと、下記の画像のように、2つの「>」ボタンを指定してしまいます。

そのため、XPathの書き方で紹介した『軸』の関係でaタグの一つ上の階層つまり親となるdivから指定します。そうすれば、正しいXPathを下記のように書くことができます。

//li[@class="end"]/preceding-sibling::li[1]//a

3.ページ番号で表示するボタン

一部のWebページでは下記の画像のように、次のページに遷移する数字で表示しています。

mceclip0.png

このようなサイトにはXPathの書き方で紹介したfollowing-sibling::で次のページ番号を指定します。

a)ボタンを右クリックしてから、「検証」を選ぶと、ボタンのHTMLが下記のようです。

mceclip1.png

b) 該当ページ番号を指定します。

//ul[@class="pageLinkLinearBasic cf"]/li[@class="crt"]

c) それから、following-sibling::を使って次のページ番号を指定します。

//ul[@class="pageLinkLinearBasic cf"]/li[@class="crt"]/following-sibling::li[1]/a

このXPathはまずul要素の下にclass="crt"を含むli要素を指定します。つまり、該当ページボタンを指定します。

それから、li要素の後に1番目にくるli要素、つまりその次のページボタンを指定します。これでいつも次のぺージへ遷移するボタンを指定できます。

該当ページが2ページ目であっても、このXPathでは次の3ページ目も指定できます。

続きを読む

こちらの回答で解決しましたか?