2025年3月2日:selenium問題が全体的に解決するかもしれない記事
メモリ省力化を含め、いろんな便利機能をサンプルコード付きでまとめてみた。

Seleniumを使うときの基本設定Tipsまとめ
Seleniumを使うときの基本設定Tipsまとめ seleniumを使うときに「大体どんなスクリプトにも入れる基本設定」をまとめてみた。 サンプルコードはpythonだが、他言語でもseleniumは同じなので使えるはず。ChromeDriverManagerで自動でChrom...
対応
rubyでseleniumインスタンス(Selenium::WebDriver::Chrome::Options)のメソッドを使う際に、引数に省メモリ化するための引数をつける。
例
options = Selenium::WebDriver::Chrome::Options.new # メモリ省力化設定 # コマンドラインからchromeを開く。GUIよりこっちの方が軽い。 options.add_argument('--headless') # 「暫定的なフラグ」らしい。。 options.add_argument('--disable-gpu') # セキュリティ対策などのchromeに搭載してある保護機能をオフにする。 options.add_argument('--no-sandbox') # ディスクのメモリスペースを使う。 options.add_argument('--disable-dev-shm-usage') # リモートデバッグフラグを立てる。 options.add_argument('--remote-debugging-port=9222') @driver = Selenium::WebDriver.for :chrome, options: options
上記でダメならchromeのウィンドウサイズを小さくする
ただし、これをやると、画面に描画される要素が少なくなり、seleniumの動きにも一工夫いる可能性があるので注意。
driver.set_window_size(950, 800)
参考
・全体的に参考にさせていただいた。
・disable-gpuオプションについて。将来的にはこれはいらなくなるらしい。
・no-sandboxオプションについての記事。つまりはセキュリティ機能をオフにするということらしい。
・disable-dev-shm-usageオプションについて。ディスクのメモリスペースを使うようにする。