0

我正在使用 ruby​​ csv gem 将文本内容从 div 元素写入 csv 文件。当我将此 div 的文本内容输出到控制台时,我会获取所有文本内容,包括来自子 div 的内容。当我写入 csv 文件时,它只输出来自“a”子元素的文本内容。我需要它还包括来自子 div 的所有文本,它是 'a' 元素。这是HTML:

<div class="bodytag" style="padding-bottom:30px; overflow:visible"> 
<h2>Search Results for "serialnum3"</h2>
<div id="results_banner">
Products
<span>Showing 1 to 2 of 2 results</span>
</div>
<div class="pg_dir"></div>
<div class="results_row">
<a href="/products/fuji/" title="Fuji, Inc.">FUJI</a>
<a href="/products/fuji/50mm lens/" title="Fuji, Inc.">50mm lens</a>
<div class="results_subrow">
    <p>more product info</p>
</div>
</div>
<div class="results_row">
<a href="/products/fuji/" title="Fuji, Inc. 2">FUJI</a>
<a href="/products/fuji/50mm lens/" title="Fuji, Inc.">50mm lens</a>
<div class="results_subrow">
    <p>more product info 2</p>  
</div>

这是我的代码:

 if
browser.div(:class => "results_row").exists?
search_results = browser.divs(class: "results_row").map(&:text)
csv << search_results
else
csv << %w("no search results")
end

我的最终目标是将 csv 数据用作 excel 列,所以如果有人知道更简单的方法,我很想听听!现在,我成功地使用 roo 将 excel 列解析为搜索词的数组。我想使用 roo 在相邻列中写入 div 元素的文本内容,而不是写入 csv,但不知道如何使用 roo 来完成。

4

0 回答 0