【问题标题】:Clicking a link that's nested inside a div using page-object gem使用页面对象 gem 单击嵌套在 div 中的链接
【发布时间】:2018-06-12 06:18:02
【问题描述】:

我的页面有一个链接More restaurants。我不确定如何使用 Cheezy 的 page-object gem 访问它。

当我单击该链接时,它会打开一个模式,显示的餐厅数量多于默认情况下显示的列表中的十家餐厅。

<div class="singleselect-radio-footer">
    <a href="" ng-click="toggleModal('singleselecRadioMoreOptionsModal.html')" r_test="singleselect-link-SelectRestaurant-more" ng-show="alwaysShowMoreLink || items.length > limit" class="ng-binding">More Restaurants</a>
</div>

我尝试使用链接

link(:more_restaurants, text: 'More Restaurants')

more_restaurants.click

div(:more_restaurants, class: 'singleselect-radio-footer')

def try_to_click
  sleep(2)
  self.more_restaurants_element.click
end

我想知道最简单的方法是在没有 id 的情况下访问此类元素。

【问题讨论】:

  • 当您尝试上述这些方法时会发生什么?
  • 30秒后超时,等待#<:anchor: located: false>"content-frame", :tag_name=>"iframe"} --> {:value=>"search", :tag_name=>"a"}> 被定位; Watir 将 ["value"] 视为不符合 HTML 的属性,请确保这是预期的。我尝试添加框架并得到了这个

标签: ruby object pageobjects page-object-gem


【解决方案1】:

要使用页面对象 gem 访问该链接的底层方法,您需要在名称中添加“_element”作为后缀。

link(:more_restaurants, text: 'More Restaurants')
more_restaurants_element

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多