typescript - Klarer ikke å finne ut hvordan man venter på tekst i input-verdi
Scenario: Jeg trenger å vente på at en spesifikk tekst skal lastes på siden, problemet jeg opplever er at teksten er verdien til en inndata-boks, og denne verdien er det siste som lastes/vises på siden.
Jeg lurte på om det fantes en måte å fortelle playwright på:
vent på at tekstverdien i denne inndatafeltet skal="tekst inndata verdi"
Jeg har brukt await this.page.locator('my locator').inputValue();, men jeg la merke til at verdien noen ganger kan returnere tom når siden tar litt lenger tid å laste, så jeg må spesifikt vente på den før jeg fortsetter.
for øyeblikket venter jeg på at en spesifikk API-forespørsel skal fullføres, noe som fungerer for nå, men jeg lurte på om det finnes en bedre måte?
Enhver hjelp ville bli satt pris på.
Svar #1
Hva om du bruker lokatorpåstander for å ha verdi med tilpasset tidsavbrudd. Noe som dette:
const locator = page.locator('my locator')
await expect(locator).toHaveValue('your value', {timeout: 20000})
Svar #2
Prøv dette:
await page.waitForSelector('text=Log in',{timeout:25000})
tilpass velgeren, du kan bruke tekst eller css eller xpath. Og du kan endre timeout-verdien til en som passer deg, den er i millisekunder.
