use*_*430 3 ruby xpath nokogiri
我从 Nokogiri 节点获得了 CSS 类的名称。现在我想找到所有附加了相同类的节点。
我不知道我要查找的元素具有哪个 HTML 标记,以及它的深度。我只知道要搜索什么课程。
我已经尝试过:
doc.xpath("//*[contains(@class, #{css})]")
Run Code Online (Sandbox Code Playgroud)
但这似乎返回了太多元素。
我也试过:
doc.xpath("//*[@class, #{css}]")
Run Code Online (Sandbox Code Playgroud)
这没有任何回报。
我想获取包含该类的元素,而不是包含该类的元素的每个元素。
可以用 Nokogiri 做到这一点吗?
正如我在评论中所说,.css()或者.search()可以找到给定类的所有元素。
这是我前段时间写的一个刮板的例子。它找到.content页面上唯一的div(at()将只选择第一个元素),然后找到其中的所有.coldiv。然后它遍历它们并打印标题。
content = page.at('.content')
content.css('.col').each do |col|
puts col.at('h5').text
end
Run Code Online (Sandbox Code Playgroud)