AngularJS + Winkelmesser Auswahl der Dropdown-Option basierend auf dem Text ohne Wert

Ich möchte auf ein Element klicken, indem ich es als Text und nicht als Wert in der Dropdown-Box bezeichne.

Ich fand diesen tollen Beitrag:https://coderwall.com/p/tjx5zg Aber es funktioniert nicht wie erwartet. Die Suche wird für immer fortgesetzt, nachdem eine Übereinstimmung gefunden wurde, und es wird nicht auf das Element geklickt.

Wenn jemand ein besseres Beispiel hat (ein funktionierendes) oder diesen Code reparieren und zum Laufen bringen kann,

Ich werde apperciate.

Dies ist der Code, den Dan Haller von der Post verwendet hat (alle Rechte ihm vorbehalten)

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();
            }
        });
    }

Dies ist eine Auswahlfunktion, die ich folgendermaßen verwenden kann:

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

Antworten auf die Frage(3)

Ihre Antwort auf die Frage