你如何让Capybara找到HTML评论?

时间:2018-03-01 20:04:46

标签: rspec capybara

我希望我的测试能够选择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中已完全删除了文本部分beforeafter

如何保存它们以便在测试中检测到它们?

1 个答案:

答案 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"