Запуск браузера с расширениями



Чтобы запустить браузер с уже установленным расширением, сначала нам нужно подготовить это расширение. В Chrome есть магазин расширений и я надеюсь, что все об этом знают и хотя бы раз в жизни им пользовались.

UPD: Расширение «coordinates» теперь недоступно в магазине расширений, поэтому мы будем использовать «Mouse Coordinates», которое работает по аналогичному принципу.

Давайте найдём расширение, которое поможет нам определить координаты курсора. Кстати, оно пригодится нам для решения одной из задачек ;) Это расширение называется «Mouse Coordinates», и скачать его можно по ссылке. Установите его привычным образом.

Чтобы подготовить расширение для работы, нам необходимо его упаковать. Для этого запустим Chrome и перейдем в раздел расширений chrome://extensions («Меню» → «Настройки» → «Расширения») → далее отметим чекбокс (флажок) «Режим разработчика» →  «Упаковать расширение» укажем путь, куда необходимо сохранить расширение. → «ОК».

Нажмите на «Упаковать расширение» и в появившемся окне, укажите путь к нужному вам расширению.

Для Windows:

Путь до папки с расширениями на Windows обычно выглядит так:

​​​​​​​C:\Users\[Ваш_пользователь]\AppData\Local\Google\Chrome\User Data\Default\Extensions

​​Для macOS:

Путь для macOS чаще всего такой: ~/Library/Application Support/Google/Chrome/Default/Extensions

Для Linux:

Путь в Linux: ~/.config/google-chrome/Default/Extensions

Или в адресной строке браузера напишите chrome://version/ и найдите там путь к папке Default в которой хранятся все расширения.

Обратите внимание что создаётся 2 файла:

0.2_0.crx  — упакованное расширение;

0.2_0.pem — файл ключей, который необходимо будет удалить если, потребуется повторная упаковка расширения (имя будет соответствовать названия расширения).

Путь к расширению может выглядеть подобным образом, где Default это имя вашего профиля =>

C:\Users\user\AppData\Local\Google\Chrome\User Data\Default\Extensions\ghbmnnjooekpmoecnnnilnnbdlolhkhi\

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

​​​​После упаковки расширения в папке появится файл «0.2_0.crx», это и есть наше упакованное расширение, теперь оно готово к использованию. Осталось «скормить» его в Selenium.

Упакованное расширения появится в той же папке что и саморасширение (имя папок и файлов  у вас может отличатся).

Скармливаем «0.2_0.crx» в Selenium

Для удобства переименуем файл 0.2_0.crx в coordinates.crx

В методе .add_extension(‘coordinates.crx’) мы указываем путь к нашему упакованному расширению. Если расширение находится в папке с проектом, достаточно указать только его имя.

Также необходимо передать опции в webdriver. Это делается так: webdriver.Chrome(options=).

import time
from selenium import webdriver

options_chrome = webdriver.ChromeOptions()
options_chrome.add_extension('coordinates.crx')
with webdriver.Chrome(options=options_chrome) as browser:
    url = 'https://mob25.com/'
    browser.get(url)
    time.sleep(15)

Если все сделано правильно, при запуске браузера с Selenium, в нём будет установлено наше расширение.

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

Когда полезно запускать Selenium c расширениями?

Блокировка рекламы: Если тестирование веб-сайта затруднено из-за рекламы, можно использовать расширения типа AdBlock для их блокировки.

Повышение безопасности: Расширения вроде HTTPS Everywhere могут обеспечить шифрование трафика, что актуально для тестирования веб-сайтов с фокусом на безопасности.

Эмуляция мобильных устройств: Некоторые расширения позволяют эмулировать мобильный браузер, что может быть полезно для тестирования адаптивных веб-сайтов.

Манипуляции с куками: Расширения типа EditThisCookie дают возможность быстро изменять или удалять куки прямо в браузере.

Отладка и анализ: Расширения вроде Firebug или Developer Tools могут быть полезными для быстрой отладки и анализа веб-страниц.

Скриншоты и запись экрана: Для документации ошибок или для создания инструкций можно использовать расширения для создания скриншотов или видеозаписи экрана.

Специфичные нужды: Некоторые тестовые сценарии могут требовать очень специфических действий, которые можно автоматизировать с помощью специализированных расширений.

Смена User-Agent: Некоторые сайты разрешают доступ только определённым браузерам или устройствам. Здесь на помощь придут расширения для смены User-Agent.

Некоторые популярные расширения:

AdBlock / uBlock Origin: для блокировки рекламы.

EditThisCookie: для работы с куками.

User-Agent Switcher: для смены User-Agent.

Firebug / Chrome Developer Tools: для отладки и анализа.

Screenshot: для скриншотов и записи экрана.

LastPass / 1Password: для автоматического заполнения форм, если это нужно в тестах.

Proxy SwitchyOmega: для работы с прокси-серверами.

Wappalyzer: для определения технологий, используемых на веб-сайте.

Tampermonkey: Для запуска пользовательских скриптов, что может быть полезно для автоматизации сложных действий на веб-странице.



Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: