2017-09-24 12 views
1

次のコードのように表示されます。 1つのDIVからスクレイプされ検証されたテキストに基づいて、次のDIVの値を削り取る必要があります。XPathはDIVスタイルの表からデータをスクラップし、クラスを列と行として使用します.DIVに基づいて隣接DIVを取得します。

私は確認する必要があるDIVを取得するための適切なXPathを持っていますが、隣接するDIVからテキストを取得する方法を理解できませんか?

<h3>TableWithColumnsAndRowsDIVstyle</h3> 
<div class="row row-flex rowLine" style="padding: 2px 0;"> 
    <div class="col-1 vcenter"> 
     ::before 
     <h4 style="white-space: nowrap;"> 
         RowValueNameX 
     </h4> 
    </div> 
    <div class="col-2 vcenter text-right"> 
     ::before 
     <h4> 
      <b>RowValueX_ThatINeedToExtract</b> 
     </h4> 
    </div> 
    ::after 
</div> 
<div class="row row-flex rowLine" style="padding: 2px 0;"> 
     <div class="col-1 vcenter"> 
      ::before 
      <h4 style="white-space: nowrap;"> 
          RowValueNameY 
      </h4> 
     </div> 
     <div class="col-2 vcenter text-right"> 
      ::before 
      <h4> 
       <b>RowValueY_ThatINeedToExtract</b> 
      </h4> 
     </div> 
     ::after 
    </div> 
<div class="row row-flex rowLine" style="padding: 2px 0;"> 
     <div class="col-1 vcenter"> 
      ::before 
      <h4 style="white-space: nowrap;"> 
          RowValueNameZ 
      </h4> 
     </div> 
     <div class="col-2 vcenter text-right"> 
      ::before 
      <h4> 
       <b>RowValueZ_ThatINeedToExtract</b> 
      </h4> 
     </div> 
     ::after 
    </div> 

私はあなたが、今、私はテキストを含む最初のdivブロックが探している選択するには、このテキスト

RowValueX_ThatINeedToExtract 

答えて

0

を取得する必要があり、この

//*[contains(normalize-space(text()),"RowValueNameX")] 

のように見えてきたのXPath使用できる:

//div[contains(div, "RowValueNameX")] 

これが与える:

<div class="row row-flex rowLine" style="padding: 2px 0;"> 
    <div class="col-1 vcenter"> 
    ::before 
    <h4 style="white-space: nowrap;"> 
     RowValueNameX 
    </h4> 
    </div> 
    <div class="col-2 vcenter text-right"> 
    ::before 
    <h4> 
     <b>RowValueX_ThatINeedToExtract</b> 
    </h4> 
    </div> 
    ::after 
</div> 

あなたは二div子供が欲しいので、完全なXPathは次のようになります。それがあるべき

<div class="col-2 vcenter text-right"> 
    ::before 
    <h4> 
    <b>RowValueX_ThatINeedToExtract</b> 
    </h4> 
</div> 

ここから:

//div[contains(div, "RowValueNameX")]/div[2] 

これは、その結果あなたが実際に望むテキストに簡単にアクセスできます。

関連する問題