5
xpathを使用してclass="watchListItem"
,span="icon icon_checked"
、およびh3="a test"
のリンクを選択したいと思います。私はxpathを使用して、リンクとスパン、またはリンクとh3のいずれかを取得できますが、リンク、スパン、およびh3は取得できません。Xpath - 2つの子ノードを照合して親クラスを取得
ここで私が試したものです:
//*[@class = 'watchListItem']//*[span[@class = 'icon icon_checked'] and h3[text()='AA']]
<li>
<a class="watchListItem" data-id="thisid1" href="javascript:void(0);">
<span class="icon icon_checked"/>
<h3 class="itemList_heading">a test</h3>
</a>
</li>
<li>
<a class="watchListItem" data-id="thisid2" href="javascript:void(0);">
<span class="icon icon_unchecked"/>
<h3 class="itemList_heading">another test</h3>
</a>
</li>
<li>
<a class="watchListItem" data-id="thisid3" href="javascript:void(0);">
<span class="icon icon_checked"/>
<h3 class="itemList_heading">yet another test</h3>
</a>
</li>
私は同様の答えを思いついたが、私は 'child :: span'の代わりに' .// span'を使いました。違いがあれば分かりますか? ':: child'は直接の子要素のみを選択するのか、それとも子孫を選択するのでしょうか?その場合は重要ではありません。ちょっと興味があるんだけど。 – Ben
::子孫はそれを行います:: ::子供は直接の子のみを選択すべきです:) @Ben –
@Ben though .//子どもだけでなく子孫も選択します。 –