在TypeScript 2.5.3中,我有一堆selenium WebElements,它们是链接。我需要在一个字符串数组中获取它们的目标。从C#Caming我会使用Linq与.Select()
本身返回选择器返回类型的列表。在打字稿这似乎并没有这么好工作:在TypeScript中返回不同类型的数组
let categoryLinkElements = await this.driver.findElements(By.css('ul li a'));
let categoryLinks = categoryLinkElements.filter(async linkElement => await linkElement.getAttribute('href'));
categoryLinkElements
是WebElement
数组。 linkElement.getAttribute('href')
返回Promise<string>
。原因使用await
,我期望categoryLinks
是一个字符串数组,就像在C#中List.Select()
的行为一样。相反,categoryLinks
是WebElement[]
。
为什么?我怎样才能获得正确的返回值?
..如果在href的是你应该使用地图。现在你只是过滤出有href falsy的元素。 – toskv