-1
2つの式を1つのxpathにセメントする考えはありません。彼らはどちらも同じクラスの「ページ区切り」に分類されます。私はそれをループで使用する必要があります。私はこのように個別に試してみました:発現させるための2つのxpath式を1つにセメントする方法は?
//div[@class='pagination']//a/@href
//div[@class='pagination']//a[contains(@class,'next')]/@href
要素:
<div class="pagination"><p><span>Showing</span>1-30
of 483<span>results</span></p><ul><li><span class="disabled">1</span></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=2" data-page="2" data-analytics="{"click_id":132,"module":1,"listing_page":2}" data-remote="true" data-impressed="1">2</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=3" data-page="3" data-analytics="{"click_id":132,"module":1,"listing_page":3}" data-remote="true" data-impressed="1">3</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=4" data-page="4" data-analytics="{"click_id":132,"module":1,"listing_page":4}" data-remote="true" data-impressed="1">4</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=5" data-page="5" data-analytics="{"click_id":132,"module":1,"listing_page":5}" data-remote="true" data-impressed="1">5</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=2" data-page="2" data-analytics="{"click_id":132}" data-remote="true" class="next ajax-page" data-impressed="1">Next</a></li></ul></div>
お返事ありがとうございました。私はxpath をこのような方法で書いて、ページネーションの両方のカテゴリをカバーするようにしたかったのです。私がしたいのと反対のものは: "// div [@ class = 'pagination'] // [not(@class)]/@ href" – SIM
これはどういうことですか?さて、それは動作しますが、私は表現を簡潔に見せるように組み合わせていました。 // @ href | // div [@ class = 'pagination'] // a [contains(@ class、 'ajax-page')]/@ href] – SIM
あなたはXを返すパス式と、Yを返す別のパス式を持っています。結合されたパス式は何を返すのですか? union演算子は、XまたはYのいずれかによって選択されたすべてのノードを返します。代替は、XとYの両方で選択されたすべてのものを返す "intersect"演算子、unionに似ていますが重複を排除しない "コンマ"(連結)演算子ですあなたが達成したいことがわからなければ、私たちはあなたにどのオペレータを使うべきかを伝えることはできません。 –