尝试编写一个测试,该测试涉及单击一个带有两个单词的按钮,如下所示。
click_on("更多过滤器")不起作用,因为该按钮由不同的单词组成,并且单击按钮更改为"少过滤器"。CSS选择器似乎都没有起作用或XPATH。
可以在链接中看到过滤器
<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>
两个单词之间没有实际空间,所以尝试
click_button(“MoreFilters”)
以下代码表明,只要您实际使用标签所示的硒,它可以进行测试
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')