1

次のクエリを使用しています。

//*[contains(concat(" ", normalize-space(@class), " "), " sub-category-wrap ")][1]/dl/dt

これにより、最初のものが選択され、そのコンテンツ.sub-category-wrapが返され/dl/dtます。理想的には、これは次のようになります。

  • Yarn
  • Mice

何らかの理由で、次のように返されます。

  • Yarn
  • Mice
  • Fast Tires
  • Fancy Paint

そのため、何らかの理由で、dt両方の.clear-wrap要素の からコンテンツを取得しています。dtn 番目からを選択することができないようです.sub-category-wrap

注: xpath クエリの[1]セレクターは、実際にはコード内の変数であるため、提示するソリューションではそのことに留意してください。

<div class="clear-wrap">
      <div class="sub-category-wrap">
        <h3>Cats</h3>
        <dl>      
          <dt>Yarn</dt>
            <dd><!-- Content --> </dd>
          <dt>Mice</dt>
          <dd><!-- Content --></dd>
        </dl>
      </div>
    <div class="sub-category-wrap">
        <h3>Dogs</h3>
        <dl>      
          <dt>Kibbles</dt>
            <dd><!-- Content --> </dd>
          <dt>Drool</dt>
          <dd><!-- Content --></dd>
        </dl>
      </div>
 </div>
 <div class="clear-wrap">
      <div class="sub-category-wrap">
        <h3>Cars</h3>
        <dl>      
          <dt>Fast Tires</dt>
            <dd><!-- Content --> </dd>
          <dt>Fancy Paint</dt>
          <dd><!-- Content --></dd>
        </dl>
      </div>
    <div class="sub-category-wrap">
        <h3>Trucks</h3>
        <dl>      
          <dt>Mud Tires</dt>
            <dd><!-- Content --> </dd>
          <dt>Loud Pipes</dt>
          <dd><!-- Content --></dd>
        </dl>
      </div>
 </div>
4

2 に答える 2