带有水豚的黄瓜 xpath 失败
Cucumber with capybara failed xpath
为什么会出现此错误?
undefined method `map' for true:TrueClass
Did you mean? tap (NoMethodError)
浏览器签入成功。
这样做 xpath:
page.find(:xpath, './/td[contains(., "Total Income:")]/following-sibling::td[2]//text()="£ 0.00"')
我试图剖析它,
这样做没有问题:page.find(:xpath, './/td[contains(., "Total Income:")]')
似乎在使用 following-sibling
后开始出错
你得到它是因为你的 XPath 没有返回元素,而是 XPath
.//td[contains(., "Total Income:")]/following-sibling::td[2]//text()="£ 0.00"
returns 布尔值(text()="£ 0.00"
的结果)。目前还不清楚您要抓取哪个元素 - 但类似于
page.find(:xpath, './/td[contains(., "Total Income:")]/following-sibling::td[2]//*[text()="£ 0.00"'])
可能是您想要做的。
顺便问一下 - 你在 Capybara 上使用什么驱动程序?
为什么会出现此错误?
undefined method `map' for true:TrueClass
Did you mean? tap (NoMethodError)
浏览器签入成功。
这样做 xpath:
page.find(:xpath, './/td[contains(., "Total Income:")]/following-sibling::td[2]//text()="£ 0.00"')
我试图剖析它,
这样做没有问题:page.find(:xpath, './/td[contains(., "Total Income:")]')
似乎在使用 following-sibling
你得到它是因为你的 XPath 没有返回元素,而是 XPath
.//td[contains(., "Total Income:")]/following-sibling::td[2]//text()="£ 0.00"
returns 布尔值(text()="£ 0.00"
的结果)。目前还不清楚您要抓取哪个元素 - 但类似于
page.find(:xpath, './/td[contains(., "Total Income:")]/following-sibling::td[2]//*[text()="£ 0.00"'])
可能是您想要做的。
顺便问一下 - 你在 Capybara 上使用什么驱动程序?