質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

803閲覧

【python】selenium + chromeでプロファイルを使用して自動ログインをしたい

msosumi

総合スコア0

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/12/17 04:42

前提

初心者です。勉強を兼ねて、業務で毎日やらなければいけないことをPythonで自動化しようと思っています。
その中でも、Chromeで普段使っているプロファイルを読み込んだ上で特定のサイトにログインをしようとしているのですが、以下のようなエラーメッセージが発生しました。

unknown error: Chrome failed to start: exited normally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /Applications/Google Chrome.app/Contents/MacOS/Google Chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)``` Chromeは開いて、プロファイルは読み込まれるのですが、それ以降のコードが実行されなくなります。 (プロファイルについてのオプションをコメントアウトすると、プロファイルは読み込まれなくなりますが、自動ログインはできるようになります。) ### 実現したいこと ここに実現したいことを箇条書きで書いてください。 - [ ] Chromeをプロファイルが読み込まれた状態で自動で開く - [ ] 自動ログインをする ### 発生している問題・エラーメッセージ

unknown error: Chrome failed to start: exited normally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /Applications/Google Chrome.app/Contents/MacOS/Google Chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)```

該当のソースコード

from

1from selenium.webdriver.chrome.options import Options 2from webdriver_manager.chrome import ChromeDriverManager 3from selenium.webdriver.common.by import By 4 5 6options = Options() 7PROFILE = '/Users/osumi/Library/Application Support/Google/Chrome' 8options.add_argument('--user-data-dir=' + PROFILE) 9options.add_argument('--profile-directory=Profile 4') 10 11driver = webdriver.Chrome(ChromeDriverManager().install(), options=options) 12driver.maximize_window() 13url = "*******" 14 15driver.get(url) 16 17elem_login_id = driver.find_element(By.ID, "login_id") 18elem_login_id.send_keys("*******") 19 20elem_password = driver.find_element(By.NAME, "password") 21elem_password.send_keys("*****") 22 23login_btn = driver.find_element(By.NAME, "commit") 24login_btn.click() 25

試したこと

-headlessや-no-sandboxを記述したところ、エラー文は出てこなくなりました。
しかし、chrome画面が非表示のままで行いたいため、上記以外の方法がないか探しています。

補足情報(FW/ツールのバージョンなど)

使用OS: macOS Monterey バージョン12.5
Chromeバージョン: 108.0.5359.124(Official Build) (x86_64)
エディター: VSCode バージョン: 1.74.0 (Universal)

何卒よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Demerara

2022/12/26 12:42

options = webdriver.ChromeOptions() としたら、変化はありますか?
msosumi

2023/01/02 09:50

ご回答ありがとうございます! おっしゃる通りに変更して実行してみたところ、以下のエラーメッセージが表示されました! selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited normally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /Applications/Google Chrome.app/Contents/MacOS/Google Chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Demerara

2023/01/02 09:57

Chrome の構成ファイルが破損してる可能性があります。 PROFILE = '/Users/osumi/LibraryApplication Support/Google/Chrome' とありますが、この中に "User Data" というフォルダはありますか? あるのなら、"Application Support/Google/Chrome/User Data" としてみてください。 これでダメなら一度アンインストールして、再インストールを試してください。
msosumi

2023/01/02 11:39

User Dataというものはなく、Chrome直下にProfile 4がございます。 一度Chromeをアンインストールして再インストールしましたが、同じ結果になりました…
Demerara

2023/01/02 19:16

以下の 2 行をまるまる消してみてください。Chrome が正常にインストールされていれば、Chrome は自動でプロファイルのフォルダを読み込んでくれます。 ``` PROFILE = '/Users/osumi/Library/Application Support/Google/Chrome' options.add_argument('--user-data-dir=' + PROFILE) ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問