目次
seleniumでChromeを立ち上げた時
from selenium import webdriver driver = webdriver.Chrome()
ブックマークやユーザー名、拡張機能など、全てまっさらな状態で立ち上がります。
seleniumでユーザープロファイルを指定してChromeを立ち上げた時
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() PROFILE_PATH = r'C:UsersUserNameAppDataLocalGoogleChromeUser Data' options.add_argument('--user-data-dir=' + PROFILE_PATH) driver = webdriver.Chrome(options=options)
seleniumを立ち上げたときの自動操作のメッセージが出ながらも、拡張機能やブックマークなどが表示されているのが確認できると思います。
ユーザープロファイルフォルダの確認方法
- Chromeを起動する。
- URLバーに chrome://version と入力して開く。
- [プロフィール パス] の欄にパスが記述されているので確認する。
これでいつも使っている状態のChromeで自動操作を行うことが可能になります。
これで厄介な「reCAPTCHA」も突破しやすくなります。
コメント
コメント一覧 (8件)
「seleniumでユーザープロファイルを指定してChromeを立ち上げた時」をもう少し詳しく解説していただくことは可能でしょうか?
読んで自分用に書き換えました。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
PROFILE_PATH = r’C:\Users\UserName\AppData\Local\Google\Chrome\User Data\Profile 11′
driver = webdriver.Chrome(options=options)
で動かしてみたところうまくプロファイルが立ち上がらずエラーになりました。
最後のdriverを
driver = webdriver.Chrome(executable_path=r’c:/chromedriver.exe’, chrome_options=options)
としてみてもダメで。。
コメントありがとうございます。
ご指摘いただきソース確認したところ、optionsインスタンスにPROFILE_PATH変数を引き渡す行が抜けていました。
この一行追加して試してみていただけますか?
ちなみに、複数のChromeインスタンスから一つのユーザープロファイルパスを共有することは出来ませんので、その点もご注意ください。
ありがとうございます。
追加の1行を入力したところ無事、ユーザープロファイルがある状態で起動できました。
「ちなみに、複数のChromeインスタンスから一つのユーザープロファイルパスを共有することは出来ませんので、その点もご注意ください。」
クロームのprofileが5つあったとして、profile毎に指定(今回はprofile3、次の起動ではprofile2で起動させたい)というのは出来ないということでしょうか?
起動時に決まったprofileで立ち上がってしまうので、profile指定をしたいです。
PROFILE_PATH = r’C:\Users\UserName\AppData\Local\Google\Chrome\User Data\Profile 2′
ではダメでした。。
Chrome1 → profile1
Chrome2 → profile1
このprofile1を同時に使うインスタンスの起動は出来ないという意味で、
それぞれ別のプロファイルを指定すれば問題なく立ち上がると思いますよ。
Chrome1 → profile1
Chrome2 → profile2
これなら同時に使えます。
ありがとうございます。
まずは一つだけ、指定したProfileを立ち上げようと試みました。
PROFILE_PATH = r’C:\Users\hiro\AppData\Local\Google\Chrome\User Data\Profile 1′
で起動させてみたり、
PROFILE_PATH = r’C:\Users\hiro\AppData\Local\Google\Chrome\User Data\Profile 2′
で起動させてみても、それぞれのプロファイルで立ち上がらず未ログインの状態
PROFILE_PATH = r’C:\Users\hiro\AppData\Local\Google\Chrome\User Data’
で起動させると、デフォルトでログインしているアカウントにはログインできるという状態です。
Seleniumを使わず、下記のような状態で起動させると指定したプロファイルで起動出来るのですが、、
browser_10 = webbrowser.get(‘”C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –profile-directory=”Profile 10″ %s’)
browser_10.open(“”https://www.google.co.in””)
プロフィールの指定が出来てないから立ち上がらないんだと思いますが、理由がさっぱりでして、、
個別ケースに関しては、環境分からないので何とも言えません。
ただ、お話聞く限り、単純にProfileの中身がないだけじゃないですか?
インスタンス立ち上がってるならエラーとかではないと思いますよ。
回答ありがとうございます。
Profileを指定してログインしてもうまく出来なかったので以下で対応しました。
①
PROFILE_PATH = r’C:\Users\hiro\AppData\Local\Google\Chrome\User Data’
※この書き方だと、直近でログインしたプロファイルが起動する。
であれば、
②
ログインしたいプロファイルが起動する.pyファイルを作る。
②、①の順で起動する。
ログインしたいプロファイルが起動する。
遠回りになってしまいますが、上記のやり方でいくことにしました。
相談にのって頂きありがとうございました。
上手く行ったならよかったです。