0

私はいくつかのシナリオで Nokogiri を学習しようとしており、現在それを使用して html コードを解析しています。

doc = Nokogiri::HTML($driver.page_source)

私のコードでは、以下のようにネストされたスパンと div タグを持つ複数の div セクションがあります。

<div class="class1 class2 class3 class4" style="padding: 4px;" id="_28f331c5-3e42-4944-aa3f-15b68f453a2b"> 
  <span class="class5" style="font-weight: bold; text-decoration: underline;">This is a String Text</span> 
  <div class="class6" dd:contenttype="content_type1" dd:concept="concept1" id="_8c83d6b3-55a1-4e88-b8af-9578bbfdef83">
    <div class="class7"> 
      <div class="class8" dd:contenttype="content_type2" dd:entityid="0" dd:entityversion="0" id="_cb48e502-9d87-451c-a7cf-4df104f21e51"> 
        <div class="class9 class10" dd:btnfloatingstyle="top-right" dd:entitytexttype="resultval" id="_9e48a58b-3f06-4ce1-8a1e-fb7f4c5d1fc0" contenteditable="true"></div> 
      </div> 
    </div>
  </div> 
</div>

<div class="class1 class2 class3 class4" style="padding: 4px;" id="_28f331c5-3e42-4944-aa3f-15b68f453a2b"> 
  <span class="class5" style="font-weight: bold; text-decoration: underline;">New String Text</span> 
  <div class="class6" dd:contenttype="content_type1" dd:concept="concept1" id="_8c83d6b3-55a1-4e88-b8af-9578bbfdef83">
    <div class="class7"> 
      <div class="class8" dd:contenttype="content_type2" dd:entityid="0" dd:entityversion="0" id="_cb48e502-9d87-451c-a7cf-4df104f21e51"> 
        <div class="class9 class10" dd:btnfloatingstyle="top-right" dd:entitytexttype="resultval" id="_9e48a58b-3f06-4ce1-8a1e-fb7f4c5d1fc0" contenteditable="true"></div> 
      </div> 
    </div>
  </div> 
</div>

私が探しているのは、文字列「This is a String Text」をメソッドへの入力として渡すときです。複数の div セクションを調べて、ネストされたスパンと div とともに適切な div セクション全体を返す必要があります。

Nokogiri またはその他の API を使用して目的を達成する直接的な方法はありますか? または、要素、その親、および子をトラバースするメソッドを作成する必要がありますか?

トラバースする独自のコードを作成する方法が他にある場合は、直接的な方法を提案してください。

4

1 に答える 1