如何在量角器

时间:2017-12-01 07:10:32

标签: angularjs protractor selectedvalue

如何获取当前选择的selectbox选项值?

我试过下面的代码,但它没有用。

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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用.filter()过滤掉所选的选项,也可以直接使用CSS选择器定位它:

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

请注意,在Protractor中与select进行交互/互动有一个更好的方式:

答案 1 :(得分:0)

选择""和属性或类值?

它将作为" get元素,被选中,然后读出它的值"

在代码中:

//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甚至更重要here about CSS-Selectors