我从搜索结果页面上的项目数组中检索第一个索引值
@searchresultspage.search_results[0]
我试图点击此数组值中的一个元素(产品名称)并获取下面的错误消息。
undefined method `product_name' for #<PageObjects::Sections::SearchResultsPage::SearchResults:0x007f976e8a8380> (NoMethodError)
请在下面的代码中查看我调用方法的地方。
require 'site_prism'
require_relative 'sections/search_results/search_results'
module PageObjects
class SearchResultsPage < SitePrism::Page
sections :search_results,
PageObjects::Sections::SearchResultsPage::SearchResults, '.s-item-
container'
element :product_name, '.a-row a-spacing-none'
def first_line_item
search_results[0]
end
def choosing_first_line_item
search_results[0].product_name.click
end
end
end
有人可以提供任何建议吗?
答案 0 :(得分:0)
根据the SitePrism README,您希望与elements
关联的任何section
都应在该部分中定义。您在:product_name
中添加了page
元素。尝试这样的事情:
class SearchResultSection < SitePrism::Section
element :product_name, '.a-row .a-spacing-none'
end
class SearchResultsPage < SitePrism::Page
sections :search_results, SearchResultSection
def first_product_name
search_results.first.product_name
end
end