だから私はchrome pythons webdriverを使用してデフォルトのプロファイルで開きたい。
これが最終的に私のために働いたものです。
from Selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\\Path") #Path to your chrome profile
w = webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe", chrome_options=options)
chromeプロフィールデータへのパスを見つけるには、chrome://version/
アドレスバーに。例えば鉱山はC:\Users\pc\AppData\Local\Google\Chrome\User Data\Default
、スクリプトで使用するには、\Default\
したがって、最終的にはC:\Users\pc\AppData\Local\Google\Chrome\User Data
。
また、Selenium専用の別のプロファイルが必要な場合:パスを他のパスに置き換え、起動時に存在しない場合はchromeが新しいプロファイルとディレクトリを作成します。
これで私の問題が解決しました。 (最後にデフォルトを削除)
from Selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=/home/username/.config/google-chrome")
cls.driver = webdriver.Chrome(options=options,
executable_path="./../ext/chromedriver")
Chrome_Options
は非推奨です。代わりにoptions
を使用してください
この答えは非常にシンプルで、説明もありません。
from Selenium import webdriver
from Selenium.webdriver.chrome.options import Options
exec_path_chrome = "path/to/Google Chrome" #Do not use this path that is extracted from "chrome://version/"
exec_path_driver = "path/to/chromedriver"
ch_options = Options() #Chrome Options
ch_options.add_argument("user-data-dir = /path/to/Chrome Profile") #Extract this path from "chrome://version/"
driver = webdriver.Chrome(executable_path = exec_path_driver, options = ch_options) #Chrome_Options is deprecated. So we use options instead.
driver.get("https://stackoverflow.com/a/57894065/4061346")
@MadRabbitがタイプchrome://version/
をアドレスバーに入力して、chromeプロフィールデータへのパスを見つけます。
C:\Users\pc\AppData\Local\Google\Chrome\User Data\Default
/Users/user/Library/Application Support/Google/Chrome/Default
あとは最後の部分を削除するだけです プロファイルパスから。Default
注:問題を回避するために、同時に複数のセッションを実行しないでください。
ちょうど私のために働いたものを共有するために。デフォルトのプロファイルの使用は複雑でした。chromeはクラッシュし続けます。
from pathlib import Path
from Selenium import webdriver
driver_path = Path("{}/driver/chromedriver75.exe".format(PATH_TO_FOLDER))
user_data_dir = Path("{}/driver/User Data".format(PATH_TO_FOLDER))
options = webdriver.ChromeOptions()
# TELL WHERE IS THE DATA DIR
options.add_argument("--user-data-dir={}".format(user_data_dir))
# USE THIS IF YOU NEED TO HAVE MULTIPLE PROFILES
options.add_argument('--profile-directory=Default')
driver = webdriver.Chrome(executable_path=driver_path, options=options)
driver.get("https://google.com/")
これを行うことでChromeはフォルダーを作成しますUser Data
そして、必要な場所にすべてのデータを保持します。プロジェクトを別のマシンに移動するのは簡単です。