2017-12-01 1 views
1

Wie kann ich den aktuell ausgewählten Optionswert von selectbox erhalten?So erhalten Sie den ausgewählten Optionswert im Winkelmesser

Ich habe unten Code versucht, aber es funktioniert nicht.

element(by.css('#selectbox')).all(by.tagName('option')).then(function (options) { 
    options.forEach(option => { 
     if (option.getAttribute('selected')) { 
      console.log('selected option', option); 
     } 
    }); 
}); 

Jede Hilfe wäre willkommen.

+1

Mögliche Duplikat [How Optionswert von select-Element erhalten] (https://stackoverflow.com/questions/18401812/how-to-get-option-value-of-select-element) –

Antwort

0

Ist "ausgewählt" und das Attribut oder eine Klasse-valu e?

Es wie funktionieren würde "get-Element, das ausgewählt wird, lesen Sie dessen Wert aus"

In Code:

//if selected is an attribute 
element(by.css('#selectbox option[selected]')).getAttribute('value').then(function(value){ 
    console.log('selected option is '+value); 
}) 

//if selected is a class-attribute 
element(by.css('#selectbox option.selected')).getAttribute('value').then(function(value){ 
    console.log('selected option is '+value); 
}) 

//note, that "element(by.css())" === "$()", so this is the same as the first one 
$('#selectbox option[selected]').getAttribute('value').then(function(value){ 
    console.log('selected option is '+value); 
}) 

Read more here about locators und noch wichtiger here about CSS-Selectors

0

Sie können entweder .filter() die gewählte Option, um herauszufiltern, oder es direkt mit einem CSS-Selektor Ziel:

element(by.css('#selectbox option[selected]')) 

Hinweis, dass es eine insgesamt schönere Art und Weise mit dem select in Protractor zu beschäftigen/interagieren:

Verwandte Themen