忘却メモ。
chromeでseleniumでヘッドレスモードを指定し、プロファイルを設定しようとしたら以下のエラーが出た。
解消法を探すのになかなか苦労したため、ここに記す。
■エラー発生した際のサンプルコード
options.add_argument('--headless') options.add_argument('--user-data-dir=user') options.add_argument('--profile-directory=profile') driver = webdriver.Chrome(executable_path=chromeDriverPath, options=options)
■発生したエラーコード
Traceback (most recent call last): File "~\hogehoge.py", line 40, in __init__ driver = webdriver.Chrome(executable_path=chromeDriverPath, options=options) File "~\webdriver.py", line 81, in __init__ desired_capabilities=desired_capabilities) File "~\webdriver.py", line 157, in __init__ self.start_session(capabilities, browser_profile) File "~\webdriver.py", line 252, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "~\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "~\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist
この問題を解消するには下記のオプションを追加する。
DevToolsとやり取りするにはポートを指定してやる必要がある。
options.add_argument("--remote-debugging-port=9222")
少しversionが古いが、下記の公式Documentsが参考になった
ヘッドレス Chrome ことはじめ
以上
ありがとうございました!ビンゴでした。