使用capybara / rspec按类似ID的选择器查找元素/部分

时间:2017-05-22 11:23:39

标签: ruby-on-rails rspec capybara site-prism

我想使用SitePrsim创建页面对象。页面上元素的选择器格式为'service_id'。如何查找id不同但选择器包含关键字'service_'的单个页面中的所有元素/部分?

我试过了:

class ServicesSection < SitePrism::Section
end

class APIs < SitePrism::Page
  element :create_service, '#content > a'
  sections :services, ServicesSection, "#service"

  def create_new
    create_service.click
  end
end

我正在寻找的元素如下:

<section class="service-widget u-legacy-cookie is-closed"    id="service_2555417736137">

所有这些元素都来自以下儿童:

<div class="self_clear" id="content">

1 个答案:

答案 0 :(得分:2)

您可以使用CSS&#34;以&#34;开头属性选择器可以执行您要求的内容 - https://www.w3schools.com/css/css_attribute_selectors.asp

sections :services, ServicesSection, 'section[id^="service_"]'

尽管如此,从您的示例中,仅使用类名也可以正常工作

sections :services, ServicesSection, 'section.service-widget'