2017-01-12 47 views
0

我的下拉有問題,它使用selectize使下拉菜單,但是當選項的數量太大,它會添加滾動到下拉菜單,當我嘗試點擊一些沒有看到的選項(你需要滾動它才能看到),水豚認爲這個選項在那裏,然後點擊輸入的地方,該選項將不會滾動。沒有什麼改變可見性(命令它搜索不可見的元素也不工作)點擊下拉菜單中的動畫在水豚

回答

1

您可以在下拉列表中單擊一個可見元素,然後發送:arrow_down本地鍵來模擬向下鍵行爲。你應該這樣做,直到元素可見,然後點擊active選項。

檢查本作selectize.js主頁:

find("#select-country-selectized").click() 
while(true) 
    break if find(".option.active").text == "Benin" 
    find("#select-country-selectized").native.send_keys(:arrow_down) 
end 

find(".option.active").click 
+0

編輯爲第一個選項。如果沒有'click'問題,應該總是有'.option.active' –

0

gunesmes的例子是非常有益的,我做喜歡做的突破一條線,因爲otherwhise它總是跳到第一個選項,改變找到了一些變化爲has_css?因爲find返回一個錯誤和has_css?返回true或false。我也改變了第一個發現,因爲我使用了繭,而且我總是需要填充生成的最後一個輸入。最終結果如下:

def scroll_dropdown(user) 
    all('input[id$="_user_id-selectized"]').last.click 
    while(true) 
     break if page.has_css?(".option.active", text: user, match: :prefer_exact, wait: false) 
     all('input[id$="_user_id-selectized"]').last.native.send_keys(:arrow_down) 
    end 

    find(".option.active").click 
    end