Ruby on rails 4 水豚用xpath填充_

Ruby on rails 4 水豚用xpath填充_,ruby-on-rails-4,xpath,rspec,capybara,Ruby On Rails 4,Xpath,Rspec,Capybara,我有多个具有一个id的输入字段规范,但它们具有不同的属性。我可以很好地找到它们,但是我很难找到如何正确地使用find填充。目前我有: find('//input[@id="specification"][@data-number="1"]').fill_in with: "This first sleeping bag should be 0 degrees F" Error-- Capybara::Webkit::InvalidResponseError:SYNTAX_ERR: DOM Ex

我有多个具有一个id的输入字段
规范
,但它们具有不同的属性。我可以很好地找到它们,但是我很难找到如何正确地使用
find
填充
。目前我有:

find('//input[@id="specification"][@data-number="1"]').fill_in with: "This first sleeping bag should be 0 degrees F"

Error-- Capybara::Webkit::InvalidResponseError:SYNTAX_ERR: DOM Exception 12

谢谢

具有相同id的多个元素是无效的HTML。您应该从更改它开始。

具有相同id的多个元素是无效的HTML。您应该从更改它开始。

第一个是
fill\u in
将在
find
返回的元素中查找文本字段。基本上,你是在要求水豚找到类似的东西:

<input id="specification" data-number="1">
  <input type="text">
</input>
假设您没有将默认的_选择器更改为:xpath,由于表达式不是有效的CSS选择器,上述操作仍将失败。您还需要告诉Capybara正在使用:xpath定位器:

find(:xpath, '//input[@id="specification"][@data-number="1"]').set("This first sleeping bag should be 0 degrees F")

第一个是
fill_in
将在
find
返回的元素中查找文本字段。基本上,你是在要求水豚找到类似的东西:

<input id="specification" data-number="1">
  <input type="text">
</input>
假设您没有将默认的_选择器更改为:xpath,由于表达式不是有效的CSS选择器,上述操作仍将失败。您还需要告诉Capybara正在使用:xpath定位器:

find(:xpath, '//input[@id="specification"][@data-number="1"]').set("This first sleeping bag should be 0 degrees F")

我完全忘了提到我试过这个,而且刚刚又试了一次,为了更好的衡量,我仍然得到相同的错误
Capybara::Webkit::InvalidResponseError:SYNTAX\u ERR:DOM Exception 12
您的Capybara.default\u选择器设置为:xpath吗?默认值是:css。它不是,但这仍然不起作用:
find(:xpath,//*[id=“specification”][@data number=“1”]”)。set(“这个第一个睡袋应该是0华氏度”)
,它给了我错误
Capybara::ElementNotFound:找不到xpath/*[id=\'specification\][@data number=\'1\'”
上一条注释中的尝试失败,因为输入错误
[id=“specification”]
。它缺少@-ie应该是
[@id=“specification”]
omg。。。我怎么会这么笨,好吧,太好了,谢谢!我完全忘了提到我试过这个,而且刚刚又试了一次,为了更好的衡量,我仍然得到相同的错误
Capybara::Webkit::InvalidResponseError:SYNTAX\u ERR:DOM Exception 12
您的Capybara.default\u选择器设置为:xpath吗?默认值是:css。它不是,但这仍然不起作用:
find(:xpath,//*[id=“specification”][@data number=“1”]”)。set(“这个第一个睡袋应该是0华氏度”)
,它给了我错误
Capybara::ElementNotFound:找不到xpath/*[id=\'specification\][@data number=\'1\'”
上一条注释中的尝试失败,因为输入错误
[id=“specification”]
。它缺少@-ie应该是
[@id=“specification”]
omg。。。我怎么会这么笨,好吧,太好了,谢谢!