所以我正在查看偶尔无法填写数据的表单字段
.set('Important Label') #occasionally ignored
.send_keys('Important Label') #occasionally ignored
以下是元素在html中的显示方式,无论是否填充字段
<input data-bind="textinput: form.name, errorInput: form.hasNameError"
placeholder="Name" class="form-control name-blah-form" type="text">
我可以看到数据的唯一地方是Mozilla Firebug的DOM视图
我试图提出ElementNotFound
find(:xpath, '*//[contains(@value,"Important Label")]') #ElementNotFound
find(:xpath, '*//[contains(value,"Important Label")]') #ElementNotFound
find(:xpath, '*//[contains(text(),"Important Label")]') #ElementNotFound
find(:xpath, '*//[@value="Important Label"]') #ElementNotFound
find(:xpath, '*//[value="Important Label"]') #ElementNotFound
这种类型的表单字段出现在很多地方。检测现场的内容将是一个很大的帮助。
任何想法?
答案 0 :(得分:1)
填写字段值会更改value属性而不是value属性。 HTML显示属性(加载页面时的值),而不是属性(当前值)。要匹配该属性,您可以使用字段选择器的with
选项 - https://github.com/teamcapybara/capybara/blob/master/lib/capybara/selector.rb#L67
find(:field, with: 'Important Label')