【要約】KDP自動出版が3日詰まった原因はカテゴリー「場所」チェックボックスだった [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がKDPの自動出版スクリプトを運用中、カテゴリー設定のモーダルで処理が停止し、3日間出版が滞る問題に直面した。原因は、設定データの不備とエラーハンドリングの設計ミスである。
- ・カテゴリー設定の「場所」チェックボックスのテキストが、設定値と一致しなかった。
- ・技術書用の設定に、小説用のデフォルト値が混入していた。
- ・エラー時のフォールバック処理が、モーダル外の要素を操作する「ゾンビクリック」を引き起こした。
// Approach
開発者はデバッグ用スクリーンショットを分析し、設定値の修正とコードの改善を行った。UIの仕様に合わせたデータ修正と、操作対象の厳格化を同時に実施している。
- ・KDPの実際のUI表記を確認し、設定用JSONのテキストを修正した。
- ・DOM走査の範囲を、
aria-hidden="false"を持つモーダル要素に限定した。 - ・モーダルが存在しない場合は、即座にエラーを返す設計に変更した。
// Result
設定の修正と操作スコープの限定により、自動出版パイプラインが正常に動作し、価格設定ページまで到達可能となった。運用上のデバッグ効率も向上している。
- ・カテゴリー設定の不一致による停止が解消された。
- ・「ゾンビクリック」による処理のスタックが防止された。
- ・デバッグ用スクリーンショットの命名規則により、原因特定が迅速化した。
Senior Engineer Insight
> ブラウザ自動化において、エラーハンドリングの「汎用性」が脆弱性を生む典型例である。フォールバック処理を
document 全体に広げるのは、副作用を制御不能にする。動的UIを扱う際は、aria-hidden 等の属性を用いて操作対象のスコープを厳格に限定すべきだ。また、UIの微細な表記揺れは自動化における最大の敵であり、実機確認の徹底が不可欠である。