2017-09-26 26 views
-2

試圖寫一個測試,其中包括點擊一個按鈕,如下面的代碼所示的兩個單詞。如何點擊一個多字動態按鈕,黃瓜和水豚

Click_on(「更多過濾器」)不起作用,因爲按鈕由不同的單詞組成,當單擊該按鈕時,該按鈕變爲「少過濾器」。 沒有一個CSS選擇器似乎工作或Xpath。

過濾器可以在鏈接中可以看出(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

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

回答

0

有兩個詞之間沒有實際的空間,所以儘量

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') 
+0

它給我一個錯誤元素沒有找到(無法找到可見的按鈕「更多過濾器」(水豚:: ElementNotFound)) – user8673269

+0

@ user8673269我已經添加了代碼,顯示它的工作沒有空間,我猜你實際上沒有使用JS驅動程序 –