Capybara通过数据属性查找锚元素

时间:2016-06-29 19:40:50

标签: ruby-on-rails ruby capybara

使用capybara我试图通过其data属性找到一个锚元素,以便我可以单击它。这个锚元素是动态的,所以我抓住它的最简单方法是使用它的数据属性。

我确实查看了find method上的Capybara文档,而this similar question's suggestion对我来说并不适用。我要么出现语法错误,要么我遗漏了一些东西。

在我的锚标记中,这是我的数据属性:

data-delete-association-field-name=“item[item_orders_attributes][0][_destroy]"

因此,对于Capybara,我最终试图找到具有该数据属性的锚标记,然后单击它。这是我当前的实现,它不起作用:

find(‘a[data-delete-association-field-name=item[item_orders_attributes][0][_destroy]]’).click

1 个答案:

答案 0 :(得分:1)

想出来。我需要为数据属性指定css选择器。

This question shows the syntax用于数据属性的css选择器。然后我就不得不将其应用于capybara find方法,如下所示:

find(‘a[data-delete-association-field-name="item[item_orders_attributes][0][_destroy]"]’).click