← Takaisin luetteloon

Playwright Automatic Test Common Pocket: Tämä 3 virhettä ovat helpoin kumota.

itadol5j

Playwright Automatic Test Common Pocket: Tämä 3 virhettä ovat helpoin kumota.

Playwright on moderni selainautomaatiotyökalu, mutta monet ihmiset astuvat prosessiin. Tänään poistan kolme yleisintä virhettä ja autan sinua välttämään kuopat.

Virhe 1: Toiminta odottamatta elementtien lastausta

Tämä on yleisin kuoppa. Monet kirjoittavat koodit, jotka näyttävät hyviltä, mutta tutkivat väärin:element not foundEn tiedä.

Virhe:

await page.click("#submit-btn");

Ongelmana on, että sivua ei saa ladata eikä painiketta ole olemassa.

Oikea käytäntö:

await page.waitForSelector("#submit-btn");
await page.click("#submit-btn");

Tai modernimmalla tavalla:

await page.locator("#submit-btn").click();

Playwrightin paikannin odottaa automaattisesti elementtien vuorovaikutusta, mikä on suuri etu Seleniumiin verrattuna.

Virhe 2: Laiminlyöty odottamassa dynaamista lastausta

Monet verkkosivut käyttävät JavaScript dynaamisesti tehdä sisältöä. Skriptisi on ehkä alkanut poimia tietoja ennen sisällön lataamista.

Virhe:

await page.goto("https://example.com");
const text = await page.textContent(".dynamic-content");
console.log(text); // 可能是 null 或空字符串

Oikea käytäntö:

await page.goto("https://example.com");
await page.waitForLoadState("networkidle");
const text = await page.textContent(".dynamic-content");
console.log(text);

tai erityisistä osista:

await page.locator(".dynamic-content").waitFor({ state: "visible" });
const text = await page.textContent(".dynamic-content");

Virhe 3: Selaimen taustaa ja sivun elinkaarta ei käsitelty oikein

Monet ihmiset luovat selainesimerkkejä ja unohtavat sammuttaa ne aiheuttaen muistin vuotamista. Tai sammuttaa selaimen väärään aikaan, jolloin käsikirjoitus romahtaa.

Virhe:

const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto("https://example.com");
// 忘记关闭浏览器

Oikea käytäntö:

const browser = await chromium.launch();
try {
  const page = await browser.newPage();
  await page.goto("https://example.com");
  // 你的操作
} finally {
  await browser.close();
}

Tai tyylikkäämmin:

const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();

try {
  await page.goto("https://example.com");
  // 你的操作
} finally {
  await context.close();
  await browser.close();
}

Yhteenveto

Playwrightin ydin onOdota.sekäElinkaariEn tiedä. Muista nämä kolme seikkaa:

  1. Odota aina kunnes elementit on ladattu
  2. Dynaamisen sisällön on oltava näkyvää.
  3. Muista sulkea selain ja konteksti

Näin voidaan välttää 99 prosenttia yleisistä virheistä.