データスクレイピング時のエラーキャッチの方法

みなさんこんにちは。
元発言は
画面スクレイピングでターゲットが表示されない時


に関連する質問です。
https://www.kensetulist.com/area/25/12/
のデータスクレイピング時に
https://www.kensetulist.com/company/433746/
のページで
Fatal error: Uncaught DivisionByZeroError: Modulo by zero in /home/internext2/www/kensetulist/company/company/parts/template_table.php:31 Stack trace: #0 /home/internext2/www/kensetulist/company/company/index.php(5): require_once() #1 {main} thrown in /home/internext2/www/kensetulist/company/company/parts/template_table.php on line 31
というエラーが出ます。このエラーのキャッチ方法はどうしたらよいのでしょう?セレクターやUiエクスプローラーはどのようにしたら良いか教えてください。よろしくお願いします。

こんにちは

このようなエラーをハンドリングする際は、「本来あるべきもの」のチェックを行うことが原則になります。エラーメッセージの内容だけで捕捉しようとすると、今回以外の例外発生時にすり抜ける恐れがあるからです。
そのため、今回のケースでは、通常は例えば「会社概要」や「表」が必ず出てくることが想定されているならば、もっとも単純にはFind Element(要素を探す)でこれらの要素の検出を試みると良いと思います。
その上で、要素が見つからなければ、try-catchで捕捉、さらに詳細な場合分け、これが特段不要なら停止なり、スキップなりの処理を行う、ということが考えられます。

Yoichi さん、回答ありがとうございました。
なるほどね。一度試してみます。

Yoichi さん、
要素の有無を検出 を使うことによって、無事エラーをキャッチし、エラーログも取ることが出来ました。
どうもありがとうございました。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.