我有一个规范来测试我是否能够在给定元素中显示一些不同的字符。假设我们有元素:
<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
。
观测值:
我已尝试'<'
,\<
和其他技巧使其显示,但没有成功。
任何提示?
答案 0 :(得分:1)
在HTML中,文字<
被写为<
。还必须用&
浏览器会尽力解释无效的HTML,这可能是为什么poltergeist(在幕后使用WebKit)能够猜出你要插入的文本。