おい!前回のエントリーからかなり時間が経ってしまいました。
最近、私はループ内での要素参照の喪失に関連する問題に取り組んできました。そしてついに解決策を見つけたので、皆さんと共有したいと思います。
これは最初のコードの簡略版です:
const someElements = await page.$$("xpath/ .//foo[@name='hoge']"); for (let i=0; i遭遇したエラー
forst ループの反復の後、スクリプトはボタン要素を見つけることができませんでした。次のエラーが発生し続けました:
で指定された ID のコンテキストが見つかりません
ProtocolError: プロトコル エラー (DOM.describeNode):どうやって解決したか
ループ内でボタン要素リストを再宣言することで、この問題を解決しました。
変更されたコードは次のとおりです:
const someElements1 = await page.$$("xpath/ .//foo[@name='hoge']"); for (let i=0; i最初のページから移動するときに元の someElements 参照が失われると考えたので、再宣言行を追加しました。この変更後、エラーは解決されました。ただし、このアプローチがコーディングのベストプラクティスに厳密に準拠しているかどうかはわかりません。
ページ間を移動するときにループ内の .click() で問題が発生した場合は、ループ自体内で要素を再宣言することを検討してください。この簡単な変更により、トラブルシューティングの時間を大幅に節約できる可能性があります!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3