2017-10-02 9 views
1

私はxpathを初めて使用しています。下の例から0305064523219のupc値に到達することは可能ですか?Xpath - 終了タグのみの要素を選択

私は//div[@class='prdct3']/strong[4]を試していましたが、もちろん、強力なタグの間には「UPC:」しか含まれていません。私は<br />タグに行く必要があります。 xpathに要素の後の要素を取得させる方法はありますか?

<div class="prdct3"> 
<p><strong>Description:</strong></p> 

<p><a href="/catalog/?JOJ4026UP=jojoblister-card-2- 
colors-asstd">Digital Watch on Blister Card 2 Colors Asstd.</a></p> 
<strong>Item Size:</strong> 6.75" x 3.5" x .75"<br /> 
<strong>Case:</strong> 144 <strong>Inner:</strong> 24<br /> 
<strong>UPC:</strong> 0305064523219<br /> 
<strong>WT:</strong> 10 <strong>CF:</strong> 1.82<br /> 
<strong>Sub-Category:</strong> AC06<br /> 
<strong>Origin:</strong> China<br /><div class="floatRight"><a 
class='iframe' href="/_forms/?JOJ4032P"><img 
src="/_images/btn_questions.jpg" alt="" /></a></div> 
</div> 

答えて

2

次は動作するようです:

function xpath(selector, root) { 
 
    return document.evaluate(selector, root || document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; 
 
} 
 

 
var node = xpath('//div[@class="prdct3"]/strong[text()="UPC:"]/following-sibling::text()[1]'); 
 
console.log(node.textContent);
<div class="prdct3"> 
 
<p><strong>Description:</strong></p> 
 

 
<p><a href="/catalog/?JOJ4026UP=jojoblister-card-2- 
 
colors-asstd">Digital Watch on Blister Card 2 Colors Asstd.</a></p> 
 
<strong>Item Size:</strong> 6.75" x 3.5" x .75"<br /> 
 
<strong>Case:</strong> 144 <strong>Inner:</strong> 24<br /> 
 
<strong>UPC:</strong> 0305064523219<br /> 
 
<strong>WT:</strong> 10 <strong>CF:</strong> 1.82<br /> 
 
<strong>Sub-Category:</strong> AC06<br /> 
 
<strong>Origin:</strong> China<br /><div class="floatRight"><a 
 
class='iframe' href="/_forms/?JOJ4032P"><img 
 
src="/_images/btn_questions.jpg" alt="" /></a></div> 
 
</div>

私たちは、その後、最初の次の兄弟のテキストノードを取り、そのテキストUPC:あるstrongタグを見つけます。

following-sibling::は、axisです。

関連する問題