PythonでChromeDriverを使用してとあるページのプルダウン項目から対象部を見つけてプルダウンを選択し直すという操作を自動化しています。
対象のページにはプルダウンリストが2,500個あり、各プルダウンに約400の選択肢があります。
サービス側の変更かchrome側の変更か不明ですが、先月のある日を境にメモリ関係のエラーを吐くようになりました。
headlessオプションを切って確認してみるとブラウザ上で「OUT OF MEMORY」や「SBOX_FATAL_MEMORY_EXCEEDED」が出ている事が判明しました。
またプログラム起動と一緒に開くようにしているコンソールに「[16024:10848:0404/190648.764:ERROR:http_connection.cc(112)] Too large write data is pending: size=700575460, max_buffer_size=268435456」というメッセージを吐く場合もあります。
webdriverに関する各種のoptionを試してみましたが改善しませんでした。
implicitly_waitを使っていたのでこの辺りもuntilに変えてみたり諸々試しましたが関係なし。
またprint等でエラー箇所を確認してみましたが、プルダウンが羅列されたページに遷移するためのclick操作行の次に進んでいないようです。
Chromeでのメモリ上限を変更する等の操作を周囲のエンジニアと調べてみましたが行きつかず、何か方法はありませんでしょうか。
バージョン情報は下記です。
Python:3.10.3
Selenium:4.1.3
Windows10
あなたの回答
tips
プレビュー