【发布时间】:2018-06-06 20:01:43
【问题描述】:
我正在尝试编写一个处理空白验证的 rspec/capybara/selenium 规范。基本上我有一个可以填写的表格,一旦保存,信息就会在表格中呈现为一行。我遇到的问题是,一旦我达到某个 td 或 span 并在其上调用 .text,返回的内容就会被去除前导和尾随空格。因此,如果您查看下面的示例,如果我调用find('#one').text,则返回的是'FOOO'。我想要返回的是' FOOO '(即包括前导和尾随空格)。
<tr id="myRow">
<td id="one">
<span> FOOO </span>
</td>
<td id="two">
<span> BAR </span>
</td>
</tr>
【问题讨论】:
-
试试这个 xpath
//td[@id='one']/span -
@Rajagopalan 当问题是关于文本内容找不到元素时,您认为更改为 XPath 会有什么不同?
-
他没有指向要从中提取文本的确切节点。
-
@Rajagopalan 这在这里并不重要,因为如果这有所不同,那么您只会期望返回有更多的空白(td 内的空白)。正如我在回答中提到的那样,问题是浏览器在显示文档时会忽略/折叠 HTML 文档中的大多数正常空白。此外,如果选择确切的元素会产生影响,那么 OP 最好坚持使用 CSS
#one span,而不是切换到 XPath。
标签: ruby selenium rspec capybara