← 一覧に戻る

Playwright自動テスト共通ポケット:この3つの間違いは、上回る最も簡単です。

itadol5j

Playwright自動テスト共通ポケット:この3つの間違いは、上回る最も簡単です。

Playwrightは、現代のブラウザの自動化ツールですが、多くの人がプロセスにステップアップしています。 そして今日、私は3つの最も一般的な間違いをとり、私はあなたがピットを避けるのを助けるつもりです。

エラー1:要素の読み込みを待っていない操作

これは最も一般的なピットです。 たくさんの人がコードを書いていますが、間違ったコードを実行します。element not foundお問い合わせ

間違い:

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

問題はページが読み込まれず、ボタンが存在しないことです。

正しい練習:

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

またはより現代的な方法で:

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

Playwrightのロケータは、Seleniumよりも大きな利点である、相互作用する要素を自動的に待機します。

エラー2:動的ロードを待ち望んでいる

多くのウェブサイトは、JavaScriptを動的に使用してコンテンツをレンダリングします。 コンテンツが読み込まれる前に、スクリプトがデータを抽出し始めることがあります。

間違い:

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

正しい練習:

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

または特定の要素の場合:

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

エラー3:ブラウザのコンテキストとページライフサイクルが正しく処理されていない

多くの人がブラウザの例を作成し、それらをオフにすることを忘れないでください。 ブラウザを間違った時間にシャットダウンしたり、スクリプトが崩壊する原因。

間違い:

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

正しい練習:

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

またはより優雅な方法で:

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();
}

インフォメーション

Playwrightのコアはウエディングそして、ライフサイクル管理お問い合わせ これらの3つのポイントを覚えておいてください。

  1. 要素がロードされるまで常に待ちます
  2. 動的コンテンツは表示する必要があります。
  3. ブラウザとコンテキストを閉じることを忘れないでください

このように、一般的な間違いの99%は避けることができます。