如何点击带有黄瓜和水豚的多词动态按钮

how to click on a multi word dynamic button with cucumber and capybara

尝试编写一个测试,其中涉及单击带有两个词的按钮,如下面的代码所示。

Click_on("More Filters") 不起作用,因为该按钮由不同的词组成,单击时该按钮变为 "less Filters"。 css 选择器的 None 似乎工作或 Xpath。

过滤器可以在link

中看到
<button class="button Button wideSidepaneFilterButton v3 compact text" type="button" tabindex="0" data-rf-test-id="filterButton" data-reactid="133">
  <span data-reactid="134">
    <span class="wideSidepaneMoreText" data-reactid="135">More</span>
    <span class="wideSidepaneFiltersText" data-reactid="136">Filters</span>
    <svg class="SvgIcon rfSvg show-less showMoreIcon rotate" data-reactid="137">
  </span>
</button>

这两个词之间没有实际的 space 所以尝试

click_button(“MoreFilters”)

以下代码表明,只要您实际使用 selenium(如标签所示)进行测试,它就可以正常工作

require 'capybara/dsl'
require 'selenium-webdriver'

session = Capybara::Session.new(:selenium_chrome)
session.visit "https://www.redfin.com/city/10940/CA/Long-Beach/filter/sort=lo-distance,viewport=33.82154881308594:33.718551986914065:-118.12507494921876:-118.26240405078126,no-outline,geo-address=Long+Beach%0C+CA%0C+USA"

session.click_button('MoreFilters')