Automation 水豚;填写“U”;通过xpath?

Automation 水豚;填写“U”;通过xpath?,automation,capybara,Automation,Capybara,我在尝试填写表单组中的文本表单时遇到了一些问题 HTML: 名字 我尝试过使用fill_,通过使用标签文本,例如“First Name”,但运气不佳;我还尝试过使用“data filter=“0”,但运气不佳(我甚至不确定这是什么;它似乎不是任何类型的id) 我想也许我可以用xpath?但是,您甚至可以对某个东西的xpath进行查找,然后填写它吗?我在水豚模块文档中找不到任何可以引用的内容。另一种方法是使用find和set: find(:xpath, "//label[text()='Fir

我在尝试填写表单组中的文本表单时遇到了一些问题

HTML:


名字
我尝试过使用fill_,通过使用标签文本,例如“First Name”,但运气不佳;我还尝试过使用“data filter=“0”,但运气不佳(我甚至不确定这是什么;它似乎不是任何类型的id)


我想也许我可以用xpath?但是,您甚至可以对某个东西的xpath进行查找,然后填写它吗?我在水豚模块文档中找不到任何可以引用的内容。

另一种方法是使用
find
set

find(:xpath, "//label[text()='First Name']/following-sibling::input").set("text")
或:


我对以下同级元素感到困惑,我以前在水豚中从未见过这种情况?@msmith1114这是一个XPath表达式,用于查找元素,然后对其调用
set
。@msmith1114,
以下同级元素
是XPath的一个轴:。您还可以使用
//div[label='First Name']/input
标签文本不起作用的原因是标签没有以任何方式绑定到输入-它需要为
属性设置
,该属性的值将是输入的
id
(如果有),或者需要包装输入以将其绑定到输入
find(:xpath, "//label[text()='First Name']/following-sibling::input").set("text")
find(:xpath, "//div[label='First Name']/input").set("text")