Selenium 4対応のコード改修と、実ASPアカウントでのログイン検証まで完了しました。両リポジトリとも agent/selenium4-migration ブランチへ push 済みです。
発生額側 8社中、Selenium を使う7社すべてでログイン→レポートページ到達を確認しました(各社スクショ取得済み):
A8 / AccessTrade / Felmat / JANet / Lacoco / TGaffi = 一発PASS。afiB のみ当初FAILし、原因特定して修正→PASS。
SLVRBULLET は JSON API 型でChrome更新の影響を受けないため対象外。
afiB のログインが失敗していました。原因は3点:
1. スクリプトが afi-b.com のトップページの隠れログインフォーム(#formPartnerId)を使っていたが、現在のUIではこのフォームは非表示(displayed=False)で操作不能。
2. ログインボタンのセレクタ button.btn-partner が「無料会員登録」ボタンにも一致する誤セレクタ。
3. さらに afb はログイン欄の id が DOM上で2重定義されており、通常の取得だと操作できない側を掴む。
修正: 専用ログインページ(/general/partner/requiredlogin)を使い、name属性+可視判定で実入力欄を選ぶ形に変更。発生額側・リファラー側の両方の afiB スクリプトに反映済み。
【要確認】この不具合は「afi-b.com のトップUI変更でセレクタが合わなくなった」もので、いつから失敗していたかはコード側からは特定できません。受け先(plus-creative.xyz の asp_data)で afiB の日次発生額レコードが直近いつまで入っているかをご確認いただけると、影響期間が確定します。リファラー側の受け先には afiB のデータ蓄積自体はあります。
新Chromeの新ヘッドレス(--headless=new)は既定ウィンドウが小さく、ページ下部の要素が画面外だと入力が弾かれます(afiB で顕在化)。両リポジトリの全Seleniumスクリプトに --window-size=1920,1080 を追加しました。
完了: 指示書#6「契約前に着手できること」の 1(コード改修 全32本)と 2(手元でのASPログイン検証)。
残り(新サーバー契約後): サーバー初期設定、CSVダウンロード〜受け先insertまでの実データ経路の検証、cron登録、1〜2週間の並行稼働での新旧突合。
サーバー契約の準備が整いましたら、IPアドレス等をお知らせください(指示書#3)。