我不知道如何获取表格单元格的 text() 锚标记是否是文本的父级。
和:
<td class="c divComms" title="Komentarz|">
<a id="List1_Dividends_ctl01_HyperLink1" target="_blank" href="http://www.attrader.pl/pl/akcje/DRUKPAK/komunikat/EBI/none,20130104_090845_0000041461">uchwalona</a>
<div class="stcm">2013-01-29</div></td>
没有:
<td class="c divComms" title="Komentarz|Celem...">
proponowana
<div class="stcm">2012-10-05</div>
</td>
我希望组成哈希的元素
details = rows.collect do |row|
detail = {}
[
[:paystatus, 'td[7]//text()[not(ancestor::div)]'],
[:paydate, 'td[7]/div/text()'], # the 2013-01-29 or 2012-10-05 above
].each do |name, xpath|
detail[name] = row.at_xpath(xpath).to_s.strip
end
捕捉uchwalona或proponowana(注意没有尾随 div 中的日期),但就目前而言,它会忽略a
标签文本,除非我这样做td[7]/a/text()
,在这种情况下,只会读取锚的文本“uchwalona”。