如何将所有文本内容从div元素写入CSV? Ruby,CSV,ChromeDriver,Watir

时间:2018-09-11 18:42:15

标签: ruby selenium-chromedriver export-to-csv watir roo-gem

我正在使用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。

0 个答案:

没有答案