🦉

【Selenium4】Headlessにすると要素が見つからない

2023/03/24に公開

実行環境

  • Python 3.9
  • Selenium 4
  • macOS

問題

エラー文

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:

options.headless = Trueを追加すると、元々取得できていた要素が取得できなくなった。
様々な方法を試し解決した方法を紹介する。

解決

オプションを以下のように記入する。
注意点として、options.add_argument('window-size=1400,600')options.add_argument("--start-maximized")とするとエラーとなった。

options = Options()
options.headless = True
options.add_argument('window-size=1400,600')
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--user-agent=Chrome/Chromeのバージョンを記入")
options.add_experimental_option('prefs', {
    'credentials_enable_service': False,
    'profile': {'password_manager_enabled': False}
})

Discussion