无法使用 javascript 单击已过滤的元素

Unable to click on filtered element using javascript

无法点击筛选的元素。

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

我收到以下错误

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

.filter returns 一个元素数组,而不是一个元素。

在调用 .click 之前,您需要 select 列表中的一个元素:

.filter(...)[0].click();

除了@nick 已经解释过的,您还可以使用 find 这将是一个更有效的方法来实现您正在寻找的东西。

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

filter 方法将遍历所有元素,即使在找到一个满足条件的元素之后,这与 find 不同,后者会在第一次出现时停止。

如果 none 个元素满足条件,这两个都将 return undefined 并且当您尝试执行 click on undefined 时将抛出错误。