FireFoxユーザープロファイル
Firefoxは、ユーザーの個人情報(ブックマーク、パスワード、設定、拡張子、Cookie、証明書など)をユーザープロファイルと呼ばれる一連のファイルに保存し、Firefoxプログラムファイルとは異なる場所に保存します。
したがって、WebDriverが既存のFireFoxユーザープロファイルをロードできる場合、それは多くの便利さをもたらします!
ユーザープロファイルを探す
FirefoxC:\Users\<your Windows login username>\AppData\Roaming\Mozilla\Firefox\Profiles\
はデフォルトで設定ファイルをローカルパスに保存します。パスは次の方法で取得できます。
-
実行ボックスに入力して、
%APPDATA%\Mozilla\Firefox\Profiles\
Enterキーを押します。 -
Firefoxのアドレスバー
about:profiles
でEnterキーを押します。
-
Firefoxのアドレスバー
about:support
でEnterキーを押します。
FireFoxユーザープロファイルをロードする
「Selenium3PythonWebDriver APIソースコード分析(18)FireFox WebDriverの実装、拡張機能のインストール」によると、Webdriverはインスタンス化時にfirefox_profile
パラメーターを設定でき、値はFirefoxProfile
オブジェクトまたは文字列であることがわかります。定義されていない場合は、オペレーティングシステムの一時ディレクトリに新しいカスタム構成ファイルが生成されます。
FirefoxProfile
オブジェクトはselenium\webdriver\firefox\firefox_profile.py
中産FirefoxProfile
階級のインスタンスです。
クラスの署名は次のとおりです。class FirefoxProfile(profile_directory=None):
パラメーターprofile_directory
はユーザー構成ファイルのパスです。
ケース:FireFoxユーザープロファイルをロードする
import selenium.webdriver as webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
# 用户配置文件路径
profile_path = r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\1yh6m4pk.default-release'
# 创建FirefoxProfile对象
my_profile = FirefoxProfile(profile_directory=profile_path)
# 设置webdriver启动时加载的用户配置文件
driver = webdriver.Firefox(firefox_profile=my_profile)
print(driver.firefox_profile.path)
コンソール出力:
C:\Users\Administrator\AppData\Local\Temp\1\tmppd69_1qi\webdriver-py-profilecopy
ユーザープロファイルは比較的大きく、注意して使用することに注意してください。!Webdriverが起動すると、指定されたFirefox構成ファイルのパスが一時ディレクトリにコピーされます。使用する一時ディレクトリは毎回異なり、不用意に使用するとディスク容量が不足する場合があります。
FirefoxProfile
クラスのソースコード:
self.tempfolder = tempfile.mkdtemp()
newprof = os.path.join(self.tempfolder, "webdriver-py-profilecopy")
インターフェースの比較
通常のブラウザインターフェースでは、Tencentホームページがブックマークに追加され、VideoDownloadHelperが拡張機能としてインストールされます。
ユーザープロファイル、つまり新しいユーザープロファイルのgeckodriverインターフェイスは読み込まれません。
ユーザー構成ファイルをロードし、Webドライバーが以前に追加されたブックマークと拡張機能をロードしたことを確認します。
参照
https://support.mozilla.org/zh-CN/kb/%E7%94%A8%E6%88%B7%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB %B6