Capybara:如何通过ID填写输入字段

Ner*_*ian 83 rspec capybara

我有这个:

<input class="string optional" 
    id="course_group_courses_attributes_2_name" 
    name="course_group[courses_attributes][2][name]" 
    placeholder="Lengua" 
    size="15" 
    type="text" />
</div> 
Run Code Online (Sandbox Code Playgroud)

如何通过ID填写该字段?

rai*_*ive 118

fill_in 接受id作为第一个参数:

fill_in 'course_group_courses_attributes_2_name', :with => 'some text'
Run Code Online (Sandbox Code Playgroud)

  • 对我来说一个棘手的部分是不应该包括`#`标记. (25认同)
  • 我是这么认为的,但它没有用.似乎它没有填补它.它没有给出任何关于找不到它的错误.它只是没有填补它. (9认同)

use*_*409 30

您也可以这样做:

find('Id or class here').set('some text')
Run Code Online (Sandbox Code Playgroud)


Str*_*ove 6

fill_in接受没有#符号的id,我首先发现这个符号令人困惑.另请注意,如果您的输入字段位于模态中,则可能需要等待转换或淡入才能填写字段.