Cabybara根据元素名称查找元素

时间:2017-07-26 13:57:48

标签: ruby-on-rails ruby capybara

您好我正在尝试选择输入字段并根据元素名称将值添加到条带的iframe中。 这不起作用

page.find(:name, 'exp-date')

我能够选择带有id选择器的root div,但是我无法在root div中的某处选择输入字段作为子节点

  find(:id, "root")

知道如何定位这些字段

3 个答案:

答案 0 :(得分:1)

使用capybara find_field方法查找字段输入。在这里查看文档: http://www.rubydoc.info/github/jnicklas/capybara/Capybara/Node/Finders#find_field-instance_method

看起来像:find_field('attributes[form_field_attribute_you_need]')

答案 1 :(得分:0)

不确定这是否适用于iframe,但您应该可以使用:

within('#target_form_id') do #or another selector
  fill_in 'field_name_or_id', with: 'value'
  fill_in 'another_field', with: 'another_value'
end

答案 2 :(得分:0)

您可以在此处使用CSS选择器:

find('input[name="exp-date"]', match: :first).set('my value')