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

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

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

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

1541閲覧

selenium chromedriver パッケージ化されていない拡張機能の読み込み

navca

総合スコア44

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2019/01/17 16:05

編集2019/01/18 05:08

初心者で恐縮ですが、よろしくお願いします。

環境 windows10
selenium 3.14
chromedriver

seleniumにてクロームの拡張機能を適用しようとしたところ、以下のエラーが出てしまいます。

PermissionError: [Errno 13] Permission denied: 'C:\Users\namae\venv\evenv\Scripts\hoge

実行したコードは以下です。

Python

1from selenium import webdriver 2from selenium.webdriver.chrome.options import Options 3from selenium.webdriver.support.ui import WebDriverWait, Select 4from selenium.webdriver.support import expected_conditions as EC 5from selenium.webdriver.common.by import By 6from selenium.webdriver.common.action_chains import ActionChains 7import os 8import base64 9 10 11options = Options() 12executable_path = fr'C:\\chromedriver_win32\\chromedriver.exe' 13os.environ['webdriver.chrome.driver'] = executable_path 14options.add_argument('--headless') 15options.add_extension(fr'C:\Users\namae\venv\evenv\Scripts\hoge') 16driver = webdriver.Chrome(executable_path=executable_path, options=options) 17 18driver.get('https://teratail.com/') 19print(driver.current_url) 20driver.quit()

chromedriverに権限がないから、くらいしか原因が思いつかず、Authenticated Usersのフルコントロールにチェックをいれて実行してみましたが、ダメでした。
power shellを管理者権限でも実行してみましたが、同じエラーが出ます。

イメージ説明
原因がおわかりでしたらご教示いただければ幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

過去質問Selenium:インストール済みの拡張機能が反映されないの回答記載のソースコードのように
.ctxまでパス指定することで起動できました。
ただし回答にも記載あるようにheadlessモードでは拡張機能はサポートされないようです。

Python

1from selenium import webdriver 2from selenium.webdriver.chrome.options import Options 3import os 4 5options = Options() 6executable_path = r'C:\hoge\chromedriver.exe' 7os.environ['webdriver.chrome.driver'] = executable_path 8options.add_argument('--headless') 9options.add_extension(r'C:\Users\user\desktop\CreateLink\ext.crx') # .ctxまで指定 10driver = webdriver.Chrome(executable_path=executable_path, options=options) 11 12driver.get('https://teratail.com/') 13print(driver.current_url) 14driver.quit()

投稿2019/01/17 18:39

can110

総合スコア38266

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

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

navca

2019/01/18 05:07

ご回答ありがとうございます。パッケージ化されている場合はadd_argument(~~.crx)で読み込めるということがヒントになり解決しました。 エラー内容からwindowsの権限の問題にフォーカスして質問させていいただいたため、パッケージ化されていない拡張機能を読み込みたかったことは記載していませんでした。挙げていただいたURLは見ていてすでに試していたのですが、.crxが何か理解しないまま実行しつつ、その後いろいろ試していたので的外れな方向にたどり着いてしまいました。パッケージ化されている拡張機能はoptions.add_extensionで読み込むのが良いようですが、パッケージ化されていない場合はoptions.add_argumentで読み込めました。参考URL :https://gist.github.com/cgoldberg/e6e2a1ef3535f8d614462cc42c935f33
navca

2019/01/18 05:09

的外れだったため題名を変更しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問