我的HTML部分看起来像这样:
<input id="order_date" name="order_date" class="date-applied"
onchange="restoreDate=false;" type="text" value="01/05/2016"
size="12" maxlength="10"/>
我需要使用Capybara检索属性value
的值。我尝试过使用此代码,但没有成功:
find(:xpath,"//table[2']/tbody/tr[7]/td[@name='order_date]")['value']
我如何使这项工作?
答案 0 :(得分:2)
您可能会检查xpath是否返回值。您用作示例的xpath有多个语法错误。试试这个,而不是:
find(:xpath, "//table[2]/tbody/tr[7]/td/input[@name="order_date"]")['value']
我根据您正在搜索的内容创建了一个结构正确的测试文档。上面的xpath在本文档中找到了输入元素:
<document>
<table></table>
<table>
<tbody>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr>
<td>
<input id="order_date" name="order_date" class="date-applied"
onchange="restoreDate=false;" type="text" value="01/05/2016"
size="12" maxlength="10"/>
</td>
</tr>
</tbody>
</table>
</document>