selenium - Konvertera WebDriver-löfte till inhemskt löfte?


Jag har denna metod:

isOnPage(): Promise<boolean> {
  return this.subtitle.isPresent();
}

TypeScript-kompilatorn ger detta fel:

Type 'webdriver.promise.Promise<boolean>' is not assignable to type 'Promise<boolean>'

Finns det ett sätt att konvertera ett WebDriver-löfte till ett inbyggt löfte?

Skulle detta fungera?

isOnPage(): Promise<boolean> {
  return new Promise(() => {
    return this.subtitle.isPresent();
  });
}

Svar #1

Du kan hoppa över att deklarera returtyp i detta fall. Detta kommer fortfarande att visa dig korrekta förslag för returvärde

isOnPage() {
   return this.subtitle.isPresent();
}

Svar #2

import { promise } from 'selenium-webdriver';

...

isOnPage(): promise.Promise<boolean> {
    return this.subtitle.isPresent();
}