次のようなリンクがたくさんあります。
<a href="/edit_flat/1674093.html"><b>Edit issue >></b></a>
Xpath式を使用するhrefのコンテンツを抽出しようとしています:
//a[contains(@href,'/edit_flat')]
しかし、それは私にnullを返します。私は何を間違っていますか?
//a[contains(@href,'/edit_flat')]
'/edit_flat' 文字列を含む属性をa
持つドキュメント ツリー内の任意の要素を選択します。href
これらの一致する要素にはまさにこの「href」属性がありますが、使用している XPath 式は、a
要素があれば「のみ」を返します。
/
一致する要素の属性の値を実際に返すには、とを使用して追加の手順が必要です@href
。だからあなたが欲しいのは:
//a[contains(@href,'/edit_flat')]/@href
提案:
あなたが本当に望むのはhref
、部分文字列 "/edit_flat" で始まるリンクを選択することです。したがって、使用する方が安全です:
.//a[starts-with(@href,'/edit_flat')]/@href