在JS中选择第二个提交按钮

时间:2017-12-05 12:48:09

标签: javascript testcafe

我想使用TestCafe单击表单中的提交按钮。这是按钮的样子:

<button type="submit" class="btn btn-lg btn-cart pull-left">
<span class="hidden-xs hidden-sm">
     <i class="fa fa-shopping-basket"></i>&nbsp;&nbsp;
</span>
     Add To Cart
</button>

此按钮位于表单内:

<form name="product1" action="domain.tld/product" method="post" role="form">
</form>

在我的测试中,我想将产品添加到购物车中:

test('add it', async t =>{
     await t
          .click(Selector('button[type="submit"]'))
});

问题是,在nabber中是另一个提交类型的按钮。如何使用此特定按钮将我的产品添加到购物车?

2 个答案:

答案 0 :(得分:4)

您可以使用更具体的选择器来使用此按钮执行操作。例如,如果此按钮具有另一个提交按钮没有的类,则使用它来创建更具选择性的选择器。

让我们考虑一个例子。另一个提交按钮没有pull-left类。使用以下选择器Selector('button[type="submit"].pull-left')Selector('.btn.pull-left')

如果这些按钮之间没有区别,您可以使用选择器的方法nth(index)Selector('button[type="submit"]').nth(1)。请参阅our documentation

中的详情

答案 1 :(得分:2)

提交第二张表格:

$('form').eq(1).submit();

您无需找到提交按钮并触发单击该按钮。相反,你可以在表单上调用.submit()。