Cabybara根据元素名称查找元素

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

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

我能够选择带有id选择器的root div,但我不能选择输入字段,它是root div中某处的子节点

  find(:id, "root") 

知道如何定位这些字段

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

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

不确定这是否适用于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 

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

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