Generator.next не является функцией - PullRequest
0 голосов
/ 28 мая 2020

Может кто-нибудь, пожалуйста, скажите мне, почему я получаю сообщение об ошибке: generator.next не является функцией. Я использую структуру webdriverIO и пытаюсь подсчитать количество видимых элементов, которые соответствуют некоторым классам.

const generator = function* (){
            yield  $$('.class1')
            yield  $$('.class2')
            yield  $$('.class3')
            yield  $$('.class4')
            return "Done"
            }
            var N=0; 
            const  getElementObject=null;
            do {
                getElementObject = generator.next()
                for (let i =0;i< getElementObject.value.length; i++)
                     {
                         if (getElementObject.value.isVisible()==true)
                                      N++
                     }
              }while (getElementObject.value=="Done");

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

спасибо, ребята, за решения, так что все сработало.

const generator = function* (){
        yield  $$('.class1')
        yield  $$('.class2')
        yield  $$('.class3')
        yield  $$('.class4')
        }
        let N=0; 
        for (let collection of generator())
            for (let element of collection)
                     if (element.isDisplayed()==true)
                                  N++
          console.log(`theResultIs ${chalk.green(N)}`)
0 голосов
/ 28 мая 2020

Вы можете вызывать только .next() на итераторе.

async function* generator(){}

generator.next() // generator.next is not a function

const iterator = generator()

iterator.next() // ok
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...