如何在 Nokogiri 中找到 ComputedStyle 元素



我正在使用Ruby和Nokogiri来解析HTML文档,我想选择与CSS类匹配的所有节点,我事先不知道,但具有display: none样式属性。

例:

<html>
  <body>
    <p class="visibleTopics">Visible Topic Content</p>
    <p class="invisibleTopics">Invisible Topic Content</p>    
  </body
</html>

在其他文件中,它被定义:

.invisibleTopic {
    display: none
} 

我想通过样式display: none选择具有invisibleTopics内容的节点。有什么建议吗?

>Nokogiri 不计算样式。为此,您需要一个浏览器。使用Watir-Webdriver,您可以做到:

browser.ps.reject{|p| p.visible?}

不要查找 CSS 属性,而是在标记中查找 CSS 类:

require 'nokogiri'
html = <<EOT
<html>
  <body>
    <p class="visibleTopics">Visible Topic Content</p>
    <p class="invisibleTopics">Invisible Topic Content</p>    
  </body
</html>
EOT
doc = Nokogiri::HTML(html)
doc.search('.invisibleTopics').each do |n|
  puts n.text
end

运行时,输出:

Invisible Topic Content

相关内容

  • 没有找到相关文章

最新更新