Невозможно нажать на фильтруемый элемент, используя javascript - PullRequest
4 голосов
/ 26 апреля 2020

Невозможно нажать на фильтруемый элемент.

$$("app-filters-manager app-salesflow-panel mat-expansion-panel").filter(element => {
        return element.getText() === "face";
}).click();

Я получаю следующую ошибку

$$(...).filter(...).click is not a function

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

В дополнение к тому, что объяснил @nick, вы также можете использовать find, который будет более эффективным методом для достижения того, что вы ищете.

$$("app-filters-manager app-salesflow-panel mat-expansion-panel").find(element => {
        return element.getText() === "face";
}).click();

Метод filter будет повторяться по всем элементам даже после нахождения одного элемента, который проходит условие, в отличие от поиска, который остановится при первом появлении.

Оба из них вернут неопределенное значение, если ни один из элементов не удовлетворяет условию и будет выдана ошибка при попытке выполнить нажмите на неопределенное.

1 голос
/ 26 апреля 2020

.filter возвращает массив элементов, а не элемент.

Вам необходимо выбрать элемент из списка перед вызовом .click:

.filter(...)[0].click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...