$$
Обзор
Используйте команду $$ вместо findElements как более краткую команду, чтобы получить несколько элементов на странице.
Команда $$ возвращает массив с искомыми элементами, на каждом из которых можно вызывать команды действия без передачи селектора. Однако, если вы все же передадите селектор, то сначала будет найден соответствующий элемент, а затем вызвано действие для этого элемента.
Вы можете связать $ или $$ вместе, чтобы спуститься по дереву DOM.
к сведению
Подробнее о том, как выбрать определенные элементы, смотрите в рецепте «Как использовать селекторы».
Использование
await browser.$$(selector);
Параметры команды
| Имя | Тип | Описание | 
| selector | String или Function | Селектор или JS-функция для получения множества элементов. | 
Примеры использования
index.html
<ul id="menu">
    <li>
        <a href="/">Home</a>
    </li>
    <li>
        <a href="/">Developer Guide</a>
    </li>
    <li>
        <a href="/">API</a>
    </li>
    <li>
        <a href="/">Contribute</a>
    </li>
</ul>
$.js
it("should get text a menu link", async ({ browser }) => {
    const text = await browser.$$("#menu")[0];
    console.log(await text.$$("li")[2].$("a").getText()); // выведет: "API"
});
it("should get text a menu link - JS Function", async ({ browser }) => {
    const text = await browser.$$(function () {
        // Использовать здесь стрелочную функцию нельзя.
        // Это Window – https://developer.mozilla.org/en-US/docs/Web/API/Window
        //
        // TypeScript-пользователи могут сделать что-нибудь вроде:
        // return (this as Window).document.querySelectorAll('#menu')
        return this.document.querySelectorAll("#menu"); // Element[]
    })[0];
    console.log(await text.$$("li")[2].$("a").getText()); // выведет: "API"
});