这里有一个产品列表(html表)。每一行都有产品名称,并以“添加到购物车”按钮结尾。如何在购物车中添加2个“咖啡”和3个“茶”?
对应的html:
<tr class="odd">
<td><img src="/images/menu_items_images/7/PICT0020_thumb.jpg" /></td>
<td>cofee</td>
<td>americano</td>
<td>1.0</td>
<td><form action="/cart/add_item/7" method="post" onsubmit="$.ajax({data:$.param($(this).serializeArray()) + '&authenticity_token=' + encodeURIComponent('rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4='), dataType:'script', type:'post', url:'/cart/add_item/7'}); return false;"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4=" /></div> <input name="commit" type="submit" value="Add to cart" /></form></td>
</tr>
<tr class="even">
<td><img src="/images/menu_items_images/6/PICT0053_thumb.JPG" /></td>
<td>tea</td>
<td>green</td>
<td>2.0</td>
<td><form action="/cart/add_item/6" method="post" onsubmit="$.ajax({data:$.param($(this).serializeArray()) + '&authenticity_token=' + encodeURIComponent('rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4='), dataType:'script', type:'post', url:'/cart/add_item/6'}); return false;"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4=" /></div> <input name="commit" type="submit" value="Add to cart" /></form></td>
</tr>发布于 2009-11-12 09:53:46
给你的添加到购物车按钮ids,像id="add_item_6",然后你可以使用webrat点击你想要的按钮。
When /^I press Add to cart for "([^\"]*)"$/ do |item|
id = Item.find_by_name(item).id
click_button('add_item_' + id.to_s)
end那么你的脚步就是
When I press Add to cart for "coffee"发布于 2010-06-02 21:24:13
我认为将id添加到链接实际上是语义标记,这是一种很好的做法。但是,如果您不想使用它,我认为您可以使用position()谓词(参见http://www.w3.org/TR/xpath/)
https://stackoverflow.com/questions/1476604
复制相似问题