有一个HTML代码
<p>
test text
<br/>
test2
<p/>
执行方法时:
.find(:xpath, "/html/p").text
结果:
test text test2
如何获得“两行”
test text
test2
答案 0 :(得分:1)
Capybara尝试在有意义的情况下遵循webdriver规范,这意味着#text
返回规范化的文本内容,并删除了回车符/换行符,因此无法满足您的需求。
不幸的是,当通过#[]
访问时,capybara-webkit不会返回元素属性,所以这不适用于capybara-webkit - 它应该与selenium或poltergeist一起使用
但是,由于您使用的是其中一个真正的浏览器驱动程序(而非机架测试),您应该可以通过执行
来访问元素innerText属性find(:xpath, "/html/p")['innerText']
应提供您正在寻找的输出