すべてのページ レスポンスの返されたステータス コードを確認するためにブラウザの機能テストが必要な状況にあり、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% 確信できるわけではありません。何か案は?