【发布时间】:2018-09-15 21:50:38
【问题描述】:
这是说明问题的测试用例:
def test_strict_Nokogiri
html = "<script> $('<a></a>') </script>"
doc = Nokogiri::HTML(html, nil, nil, Nokogiri::XML::ParseOptions::STRICT)
assert_empty doc.errors
end
该断言失败,因为有errors:#<Nokogiri::XML::SyntaxError: Unexpected end tag : a>。
即使 Nokogiri 一直在 <script> 标签内寻找 HTML 标签,它也应该看到 <a ...> 和 </a> 标签是平衡的,对吧?
我如何让 Nokogiri 识别有效的 HTML,绕过嵌入的 Javascript,并且只在它真的坏了时才抱怨?
编辑:我已将错误传递给 libxml2 维护人员:https://bugzilla.gnome.org/show_bug.cgi?id=795390
【问题讨论】:
-
这真的有效吗?我知道
script在 HTML4 中需要一个type属性。 -
我发现了解析带有
<script type>属性的完整网页的问题。而且,在有人编辑我的帖子之前,错误消息中的行号和列号指向了</a>标签。
标签: javascript html ruby nokogiri libxml2