Capybara拒绝带有“<”的文字(低于字符)

时间:2015-06-11 17:56:06

标签: ruby-on-rails rspec capybara

我有一个规范来测试我是否能够在给定元素中显示一些不同的字符。假设我们有元素:

<p class="my-strange-characters-text">
  "Here they are: \" & ; ' > # <"
</p>

问题在于,使用Capybara的默认驱动程序,它不会检索“&lt;”字符。

在我的规范中,如果我这样做:

first(".my-strange-characters-text").text

输出

Here they are: \" & ; ' > # 

否“&lt;”字符! (也不是我之后插入的任何内容)

但是,如果我使用:js => true,它会调用 Poltergeist 驱动程序,它会正确返回文本。

我不想在此特定文字上使用:js => true

观测值:

我已尝试'<'\<和其他技巧使其显示,但没有成功。 任何提示?

1 个答案:

答案 0 :(得分:1)

在HTML中,文字<被写为&lt;。还必须用&amp;

替换&符号

浏览器会尽力解释无效的HTML,这可能是为什么poltergeist(在幕后使用WebKit)能够猜出你要插入的文本。