【问题标题】:can there be a divs method in PageObject::Accessors and is my workaround ok?PageObject::Accessors 中可以有一个 divs 方法吗?我的解决方法可以吗?
【发布时间】:2012-10-25 17:50:46
【问题描述】:

在页面对象中,我希望以特定方式访问多个 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

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

提前谢谢...

【问题讨论】:

  • 最近出现了一个问题 - 请参阅 Issue 144

标签: page-object-gem


【解决方案1】:

通过使用您定义多个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

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 2019-10-12
    相关资源
    最近更新 更多