Selenium::WebDriverでデフォルトで引数を渡すようにする 2021-05-22 カテゴリー 開発 SeleniumでChromeをheadlessで使おうとすると複数のオプションがあって、バージョンによって必要なオプションが変わるなど面倒なことが山盛りなので、せめて一箇所で設定できるようにデフォルトで読み込むオプション設定を決めることにしました。 ブラウザの種別によって引数が違うので必要なブラウザの物のみ設定してます。以前はphantomjsやfirefoxも設定してたけど、必要なくなったのでChromeのものだけですが、これを参考に適当に追加してください。 'lib/selenium_web_driver_extension.rb' module SeleniumWebDriverExtension def for(browser, *args) case browser when :chrome caps = Selenium::WebDriver::Remote::Capabilities.chrome( 'chromeOptions' => {args: %w(--headless --no-sandbox --disable-gpu window-size=1280x800)} ) super(browser, desired_capabilities: caps) else super(browser, *args) end end end Selenium::WebDriver.singleton_class.prepend(SeleniumWebDriverExtension)