使用 capybara/rspec 通过具有相似 ID 的选择器查找 elements/sections

Using capybara/rspec find elements/sections by selector with similar id

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

我试过:

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">

您可以使用 CSS "begins with" 属性选择器来完成您的要求 - https://www.w3schools.com/css/css_attribute_selectors.asp

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

不过,根据您的示例,仅使用 class 名称可能同样有效

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