我们在进行自动化测试时,经常需要对页面的元素进行定位取值。如果该元素是enable的可以很方便定位。但是有时需要定位hidden的元素,直接定位就成了问题。
<input type="hidden" value="147.86" name="total_plan_amount">
如果通过firebug或者其他工具发现是hidde类型的元素。首先需要通过它上级取得“innerHTML”。比如下面的html结构
<td class="altRowOdd" align="right">
<input type="text" disabled="" size="6" value="0" name="totalfee">
<input type="hidden" value="147.86" name="total_plan_amount">
</td>
先通过第一个input定位到它的上级td,取得这个td的innerHTML,即td.attribute(‘innerHTML’). 在selenium ruby 中通过Nokogiri::HTML对获得的html进行解析
doc = Nokogiri::HTML(html)
doc.xpath("//input[@name='total_plan_amount']").attribute('value')
这样就获得了隐藏元素的值。