返回数组值时无法单击元素
Unable to click on element when array value is returned
我从搜索结果页面上的项目数组中检索第一个索引值
@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
有人可以提供任何建议吗?
根据 the SitePrism README,您希望与 section
关联的任何 elements
都应在该部分本身中定义。您正在 page
中添加 :product_name
元素。尝试这样的事情:
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
我从搜索结果页面上的项目数组中检索第一个索引值
@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
有人可以提供任何建议吗?
根据 the SitePrism README,您希望与 section
关联的任何 elements
都应在该部分本身中定义。您正在 page
中添加 :product_name
元素。尝试这样的事情:
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