我希望我的测试能够选择HTML 注释,这是我要测试的HTML块,但是当使用SimpleNode建立Capybara节点时,它似乎会删除所有HTML注释。
e.g。
html = "<div>before <!– check –> after</div>"
node = Capybara::Node::Simple.new(html)
node.native.to_html
# => "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"
\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>
<div>before after</div></body></html>\n"
HTML中已完全删除了文本部分before
和after
。
如何保存它们以便在测试中检测到它们?
答案 0 :(得分:0)
HTML评论在&lt;!之后需要两个-
- 你所拥有的只是被解析为无效元素并被丢弃。
html = "<div>before <!-- check --> after</div>"
node = Capybara::Node::Simple.new(html)
node.native.to_html
=> "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body><div>before <!-- check --> after</div></body></html>\n"