AngularJS + Protractor Как выбрать опцию Dropdown, основываясь на его тексте, а не на значении

Я хочу нажать на элемент по его тексту, а не по значению из выпадающего списка.

я нашел этот великий пост:https://coderwall.com/p/tjx5zg но он не работает должным образом, поиск продолжается вечно после того, как найдено совпадение, и он не щелкает по элементу,

если кто-то имеет лучший пример (рабочий) или может исправить этот код и заставить его работать,

Я буду тренироваться.

Это код Дэна Халлера из использованного поста (все права защищены ему)

function selectOption(selector, item){
    var selectList, desiredOption;

    selectList = this.findElement(selector);
    selectList.click();

    selectList.findElements(protractor.By.tagName('option'))
        .then(function findMatchingOption(options){
            options.some(function(option){
                option.getText().then(function doesOptionMatch(text){
                    if (item === text){
                        desiredOption = option;
                        return true;
                    }
                });
            });
        })
        .then(function clickOption(){
            if (desiredOption){
                desiredOption.click();
            }
        });
    }

Это функция выбора элемента, которую я могу использовать следующим образом:

var browser = protractor.getInstance();
browser.selectOption = selectOption.bind(browser);
browser.selectOption(protractor.By.id('my-dropdown'), 'My Value');

Ответы на вопрос(3)

Ваш ответ на вопрос