Генераторы отлично подходят для такого рода вычислений
const None =
Symbol ()
const combinations = (...xs) =>
{ const loop = function* (comb, [x = None, ...xs])
{ if (x === None)
return yield comb
yield* loop ([...comb, x], xs)
yield* loop (comb, xs)
}
return Array.from (loop ([], xs))
}
console.log (combinations ('a'))
// [ [a], [] ]
console.log (combinations ('a', 'b'))
// [ [a,b], [a], [b], [] ]
console.log (combinations ('a', 'b', 'c'))
// [ [a,b,c], [a,b], [a,c], [a], [b,c], [b], [c], [] ]
Вы ожидаете, что страница будет содержать буквенную строку "id = outputtext-text ...", отображаемую где-то на экране. Вы уверены, что это должно появиться на странице? Это похоже на локатор, но это ключевое слово принимает строку вместо локатора.
Я не знаю наверняка, что вы пытаетесь сделать, но если вы ожидаете элемент с данным идентификатором, вы должны использовать Подождите, пока страница содержит элемент принимает локатор в качестве аргумента.