4

在页面对象中,我希望以特定方式访问多个 div。

这是对匹配的第一个 div 的访问:

div(:search_result, id: /rptSearchResults/)

如果 div 存在于 PageObject::Accessors 中,这将是访问多个匹配的 div:

divs(:search_result, id: /rptSearchResults/)

到目前为止,我已经尝试过:

visit_page SearchResultsPage do |page|

    #This outputs the first div that matches
    page.search_result_element.div_elements(id: /rptSearchResults/).each { |i| puts i.text }

    #This accesses the page and outputs text in all divs that match
    page.div_elements(id: /rptSearchResults/).each { |i| puts i.text}

end

任何人都可以建议在页面对象中执行此操作的更好方法吗?

提前致谢...

4

1 回答 1

6

通过使用您定义多个 div 的方式divs(:search_result, id: /rptSearchResults/),您可以通过search_result_elements.

一些例子:

  • 获取第一个 div 元素 -search_result_elements[0]
  • 获取返回元素的长度 -search_result_elements.length
  • 获取 div 的文本 -search_result_elements.map(&:text)
  • 从第三个 div 获取子元素 -search_result_elements[2].element

希望这可以帮助!

于 2013-04-07T21:50:59.560 回答