2

すべてのページ レスポンスの返されたステータス コードを確認するためにブラウザの機能テストが必要な状況にあり、503 を受け取った場合は、失敗する前に X 回ページのリロードを試みます。

Playwright ネットワーク イベントを使用しようとしましたが、ページの状態を変更する (つまり、リロードをトリガーする) と、今後の相互作用が中断され、Execution context was destroyed, most likely because of a navigation.エラーが発生するようです。

例えば:

page.on('response', async (response) => {
  if (response.request().resourceType() !== 'document') return;

  if (response.status() === 503) {
    await page.reload();
  }
}

(単純化のために再試行ロジックを省略しました)

このコードが実行された後、ページを操作しようとすると、Execution context was destroyedエラーが発生します。

これがこの問題にアプローチする正しい方法であると 100% 確信できるわけではありません。何か案は?

4

1 に答える 1