我如何从td标签获得值



我必须得到价格的内部值:

<td align="center">Avg.Rate: $ 555</td>

如何使用Nokogiri做到这一点?

我试着:

price_list('td[text()*="Avg.Rate: $"]') do |price|
price.text.split('$').last.to_price

使用CSS:

price_list.at('td[text()^="Avg.Rate:"]')

的回报:

=> #<Nokogiri::XML::Element:0x8042e6b0 name="td" attributes=[#<Nokogiri::XML::Attr:0x8042e624 name="align" value="center">] children=[#<Nokogiri::XML::Text:0x80431fb8 "Avg.Rate: $ 555">]>

获取值:

price_list.at('td[text()^="Avg.Rate:"]').text[/d+/]
=> "555"

如果您正在寻找单个或第一个出现,请使用atat_css。如果您正在寻找多次出现,请使用searchcss

供参考:Nokogiri使用jQuery兼容的CSS选择器

您的xpath字符串应该使用starts_with:

price_list.xpath('td[starts-with(text(), "Avg.Rate: $")]')

相关内容

  • 没有找到相关文章

最新更新