Как я могу добавить внешнее расширение в селен (хром) Python - PullRequest
0 голосов
/ 03 сентября 2018

ОБНОВЛЕННЫЙ ВОПРОС:

На данный момент, если кто-нибудь может дать мне какие-либо советы о том, как я могу добавить любой тип расширения в селен во время выполнения, моя цель состояла в том, чтобы иметь возможность запустить скрипт и сделать, чтобы расширение Chrome было установлено и было активным для запуска. так как при запуске chromedriver хром выглядит как ваниль (расширения не установлены или активны), я попробовал следующие ответы, но мне не повезло, я попытался найти видео, просмотреть документы, но я просто продолжайте терпеть неудачу, если у кого-то есть понимание, я был бы очень признателен !!!

Оригинальный пост ниже

Я пытаюсь разблокировать расширение origin, чтобы оно работало на моем chrome при использовании selenium, и приведенный выше код, похоже, не работает, я пробовал несколько способов заставить это работать, но все не удалось, все попытки получить это работать основаны на том, что я прочитал здесь или на YouTube! Если бы кто-то мог помочь мне здесь, это было бы здорово!

Импорт для всего кода, я чрезвычайно новичок в селене, поэтому я поместил все импорта, которые я до сих пор играю, в библиотеки, чтобы выяснить, что и для чего.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

Первая попытка:

option = webdriver.ChromeOptions()
option.add_argument('load-extension=' + 'uBlock-Origin_v1.16.18.crx')

Вторая попытка:

path_to_extension("C:\Selenium\uBlock-Origin_v1.16.18.crx")

option = webdriver.ChromeOptions()
option.add_argument('load-extension=' + path_to_extension)

Третья попытка:

#adding ublock Origin
path_to_extension = (r'C:\Selenium\1.16.18_0')

# example option: add 'incognito' command line arg to options
option = webdriver.ChromeOptions()
option.add_argument("--incognito")
options.add_argument('load-extension=' + path_to_extension)

Код первых двух попыток был основан на идее, что мне нужно было установить файл расширений .crx индивидуально и поместить каталог для этого файла, чтобы расширение работало, используя метод, описанный ниже: Первая попытка (без указания каталога)

Вторая попытка (указывается с помощью переменной "path_to_directory") Я установил .crx отдельно, используя сайт под названием «https://chrome -extension-downloader.com / », и поместил его в каталог, в данном случае мой C: \ Selenium \ folder.

Третья попытка состояла в том, что я нашел каталог, в котором было установлено мое расширение (ublock) для моего обычного браузера Chrome, и скопировал папку (в данном случае папку «1.16.18_0» и поместил ее внутри («C: Каталог \ Selenium) для легкого доступа, я прочитал, чтобы поместить r перед цитированием пути, hense код.

path_to_extension = (r'C:\Selenium\1.16.18_0')

Любые предложения помогли бы, я не возражаю против того, чтобы полностью разобрать то, что у меня есть, чтобы заставить это работать, я просто попробовал все методы, которые я до сих пор видел в Интернете.

Я также недавно пытался использовать следующий метод, который потерпел неудачу

option.add_extension(r'C:\Selenium\uBlock-Origin_v1.16.18.crx')

1 Ответ

0 голосов
/ 11 сентября 2018

Оказывается, единственная причина, по которой я не смог включить Ublock, была просто потому, что я включил режим инкогнито, который по какой-то причине заставлял расширение не загружаться, но как только я закомментировал его, расширение начало работать как beautify. Я надеюсь, что это поможет любому, кто может оказаться в такой же ситуации.

#Adding adblocker
option = webdriver.ChromeOptions()
#option.add_argument("--incognito")
option.add_extension(r"C:\Users\David\Documents\Extensions\uBlock-Origin_v1.16.18.crx")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...