Chrome Extension Downloaderにアクセスして、「Adblock-Plus_v1.4.1」の .crx ファイルを取得しました。
作業中のディレクトリに投げて、実行しました:
from selenium import webdriver
chop = webdriver.ChromeOptions()
chop.add_extension('Adblock-Plus_v1.4.1.crx')
driver = webdriver.Chrome(chrome_options = chop)
それが存在することを完全に認めていますが、ChromeDriver.exe
スタイルメッセージのように見えるものを私に与えます:
ERROR:extension_error_reporter.cc(56)] Extension error: Package is invalid: 'CRX_PUBLIC_KEY_INVALID'.
その後、最終的に webdriver 例外:
selenium.common.exceptions.WebDriverException: Message: u'Extension could not be installed'
例外をスローする前に ChromeDriver タイプのメッセージを最初に配置するため、コードに問題がないことはほぼ 100% 確信しています。
'C:\Documents and Settings\\*UserName*\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions'
また、開発者モードをオンにして自分でパックしようとしchrome://extensions/
、作成された.crxを使用しようとしましたが、まったく同じエラーメッセージが表示されました
私も別の方法を試しました:
chop = webdriver.ChromeOptions()
chop.add_argument('--load_extension=Adblock-Plus_v1.4.1.crx')
driver = webdriver.Chrome(chrome_options = chop)
これにより、例外や Chrome ドライバーのエラーが発生するchrome://extensions/
ことはありませんが、手動でアクセスしても、拡張機能が読み込まれているとは表示されません...
私の問題は、実際の .crx ファイル自体に関係していると思います。エラーメッセージの性質上...しかし同時に、webdriver.Chrome()
セッションを生成してから手動で移動すると、chrome://extensions/
物理的にドラッグアンドドロップして同じ.crxファイルをインストールできるため、わかりません。
編集:実際に質問をしていないことに気付いたので、ここにあります:
私は何を間違っていますか?この Chrome 拡張機能をロードできないのはなぜですか? それは私のコードですか、それとも .crx ファイルそのものですか?
更新:@Pat Meeker私はこれを試しましたが、JavaからPythonへの変換で何かを失っています
capability = webdriver.DesiredCapabilities.CHROME
にすべての引数を含む辞書が返されるi
ので、必要な部分は引数を追加することだけであると確信しています。
options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=C:/Users/USER_NAME/AppData/Local/Google/Chrome/User Data/Default/')
これは私が今持っているものであり、driver = webdriver.Chrome(chrome_options=options)
クロムを開こうとするたびに、以前の位置を覚えているように見えますが、それ以上、ブックマークも拡張機能も何もありません。