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.

Relaterte artikler