私はSeleniumとPythonを使ってWebページをスクラップし、次の構造を持つdivからデータを収集するのが難しいです:SeleniumとPythonを使用してdivからこのデータを収集するには
<div class="col span_6" style="margin-left: 12px;width: 47% !important;">
<div class="MainGridRow">
<span class="MainGridcolumn1">Heading1</span>
<span class="MainGridcolumn2">Text that I want</span>
</div>
<div class="MainGridRow">
<span class="MainGridcolumn1">Another heading</span>
<span class="MainGridcolumn2">More text that I want</span>
</div>
<div class="MainGridRow">
<span class="MainGridcolumn1">Next heading</span>
<span class="MainGridcolumn2">Even more text</span>
</div>
<div class="MainGridRow">
<span class="MainGridcolumn1">Yet another heading</span>
<span class="MainGridcolumn2">Piece of text</span>
</div>
</div>
divには複数の行があり、それぞれに2つの列がスパンタグ内のデータ/テキストを含みます。 CSS IDはありません。
「MainGridcolumn2」スパンクラスに含まれるテキストの収集にのみ関心があります。
テキストを含む次のスパンタグに移動するために 'following_sibling'を使用しようとすると、最初の見出しに移動しようとしましたが、これを動作させることさえできませんそれは任意のテキストを返すされていないように私は、コンソールにそれを印刷しようとすると:
driver.find_element_by_xpath("//span['@class=MainGridcolumn1'][contains(text(), 'Heading1')]").text
と
driver.find_element_by_xpath("//span[contains(text(), 'Heading1')]").text
を得ることができますMainGridcolumn2のデータは常に異なっており、データの順序は異なるページで変更される可能性があります。だから私は見出しのスパンに移動してから、次のスパンに移動して値を収集しようとしていました。 – Matt
他のMainGridRowのdivがありますか? –
はい - 約20合計 – Matt