单击在Cucumber中具有特定文本的html元素

时间:2014-05-20 12:54:08

标签: jquery html cucumber capybara

我有像html这样的多个标签元素

<label class="article-list">
    first
</label>
<label class="article-list">
    secound
</label>
<label class="article-list">
    Idividual
</label>

在场景中,我有类似的东西; “用户点击”第一个“选项”

现在我需要点击标签元素,其中包含文本“first”。我该怎么做?

我知道如何使用类和其他东西获取元素,但不是这样。

2 个答案:

答案 0 :(得分:1)

查找元素时,可以使用:text选项指定元素的文本。

点击&#34;首先&#34;标签:

find('label.article-list', :text => 'first').click

点击&#34; secound&#34;标签:

find('label.article-list', :text => 'secound').click

当然,Cucumber步骤需要传递指定的文本:

When /User click "([^"]+)" option/ do |option|
  find('label.article-list', :text => option).click
end

答案 1 :(得分:0)

您可以使用:contains获取具有给定文字的元素

<强> Live Demo

$('label').click(function(){
   alert(this.className); 
});

$('label:contains(first)').click();

说明:选择包含指定文字的所有元素。