如何使用量角器逐一选择下拉列表中的所有值

问题描述 投票:1回答:2

我得到了下拉列表中的值的计数,并试图逐个点击每个选项并验证一些但我无法点击选项。

let button = $('[href* ='something']');
let dropdown = element(by.id('someid'));
let options = dropdown.all(by.tagname('option'));

button.click();

options.then(function (items) {

    console.log(items.length);

    for (let i = 0; i < items.length; i++) {

        items[i].gettext().then(function (text: any) {
            items[i].click();
        });
    }
});

它显示我的错误,因为gettext()不是一个函数,我试过getattribute('value')也仍然没有用,有人可以帮忙吗

typescript protractor
2个回答
2
投票
let button = $('[href* ='something']');
let dropdown = element(by.id('someid'));
let options = dropdown.all(by.tagname('option'));

button.click();
 for (let i = 0; i < options.count(); i++) {
        options.get(i).getText().then(function (text: any) {
            options.get(i).click();
        });
    }

希望它能帮到你

由于items是元素数组,因此必须使用get(//element position in the array)来访问数组中的特定元素。

请参阅https://www.protractortest.org/#/api?view=ElementArrayFinder.prototype.get


0
投票

不确定何时在DOM中生成选项。在for循环尝试

browser.driver.findElements(element(by.css('#someid option')).then(elms => {
          return elms[i].click();
}
© www.soinside.com 2019 - 2024. All rights reserved.