XPath 计数未转换为 Ruby 数字
XPath count not converting to Ruby number
我第一次尝试在 Rails 上将 XPath 引入我的 Ruby,Cucumber 和 Capybara 设置。我的代码
row_count_on_page = page.find(:xpath, "count(//table[@id='foo']/tbody/tr)")
导致错误
undefined method `map' for 10.0:Float
Did you mean? tap (NoMethodError)
代码的实际 XPath 部分似乎工作正常,因为 table 的正文中恰好有十行。我不明白代码如何无法将 10.0 转换为 Ruby 10。我做错了什么?
您应该在方法之外进行计数。
row_count_on_page.count
正如您目前正在使用的那样,在对 find 的第二个成员求值后,您将得到如下内容:
row_count_on_page = page.find(:xpath, "10.0")
这不是有效的 xpath。
我第一次尝试在 Rails 上将 XPath 引入我的 Ruby,Cucumber 和 Capybara 设置。我的代码
row_count_on_page = page.find(:xpath, "count(//table[@id='foo']/tbody/tr)")
导致错误
undefined method `map' for 10.0:Float
Did you mean? tap (NoMethodError)
代码的实际 XPath 部分似乎工作正常,因为 table 的正文中恰好有十行。我不明白代码如何无法将 10.0 转换为 Ruby 10。我做错了什么?
您应该在方法之外进行计数。
row_count_on_page.count
正如您目前正在使用的那样,在对 find 的第二个成员求值后,您将得到如下内容:
row_count_on_page = page.find(:xpath, "10.0")
这不是有效的 xpath。