2023/02/23 このエントリーをはてなブックマークに追加 はてなブックマーク - 今年(2023年)に入ってからSelenium WebDriverが不安定!!原因はHeadless!?

今年(2023年)に入ってからSelenium WebDriverが不安定!!原因はHeadless!?

カテゴリ: ,



はい。ありがちなタイトルにしました。
これは単純にSelenium使ってる多くの人に見てほしいからです。

twitterで検索すると「何故か動かなくなった」とか「自己解決した」とか書いてあって、多くの人に情報が届いてないじゃないかなと。困ってる人もいるかなと思ってブログにしとくかぁ〜と思いましたん







公式に書いてあるとおりではあるので、そちら参照してもらえれば良いんですが。

2023年2月現在、Seleniumは4.8.0です。
以下の書き方は非推奨とされ、4.10ではなくなるとのことです

ChromeOptions options = new ChromeOptions();
// これが使えなくなるっぽい
options.setHeadless(true);

今後はChromeOptionsなどOptionにaddArgumentsする形を推奨しています。

  • WebDriverバージョン96までは --headless
  • WebDriverバージョン96から108までは --headless=chrome
  • WebDriverバージョン109 --headless=new

となっています。

96まで

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
WebDriver driver = new ChromeDriver(options);

96から108まで

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless=chrome");
WebDriver driver = new ChromeDriver(options);

109から

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless=new");
WebDriver driver = new ChromeDriver(options);

実は、これ最近踏んだ結果、headlessの機能の変更を知ったという形です
https://github.com/SeleniumHQ/selenium/issues/11637

  • ダウンロードディレクトリの指定が正しくなくなる
  • Chromeのみ
  • ubuntuだけらしい(ホントか?)
  • 108だったら大丈夫だったけど109になったらだめになった
  • --headless=new にしたが不安定だが動くようにはなったかも

という感じです。
これ、実行環境によっては「こちらの環境では動いてます(キリッ)」となりそうで
困ってる人と困ってない人が居そうです。

今後のChromeDriverの修正に期待!


  • 困ってる人に届いてほしい
  • 公式のブログやドキュメントやissueを読むんだ


0 件のコメント:

コメントを投稿

GA