Selenium как запустить браузер с расширением

Обновлено: 07.07.2024

Мне нужно явно сделать chrome extension run/заставить его выполнять функцию из селена. Например, я хочу очистить кеш браузера Chrome, используя этот расширение с помощью Selenium Webdriver.

Могу ли я это сделать в первую очередь? Или Selenium WebDriver поможет мне только с загрузкой расширения в экземпляр браузера и оставить его там?

Когда расширение Chrome активировано, оно уже "работает" (по крайней мере, на его фоне/странице события). Нет API для программного нажатия на кнопку.

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

  • Получите источник расширения (например, используя средство просмотра источников расширения Chrome, а также средство просмотра CRX).
  • Распакуйте zip файл.

Создайте новый HTML файл example_name.html и пусть он содержит:

Создайте новый script файл example_name.js и позвольте ему вызвать функциональность расширения, например:

Снова добавьте расширение, например. используя GUI в chrome://extensions или используя

После создания directorycontainingextension.crx загрузите этот crx файл в Chrome, чтобы узнать идентификатор расширения. Если вы не знаете, как загрузить crx файл в Chrome, просто посетите https://robwu.nl/crxviewer/, выберите crx файл, откройте инструменты разработчика F12 и скопируйте 32- символьная строка в поле "Вычисленный идентификатор расширения: [идентификатор расширения здесь]".

(Начиная с ChromeDriver 2.11, вы можете просто закрепить расширение вместо упаковки его как файла CRX и жестко закодировать идентификатор расширения в файле манифеста установка атрибута "key" (этот атрибут "key" также печатается на консоли F12 с помощью средства просмотра CRX).)

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

Селен + Python Настройка параметров браузера Chrome


1. Справочная информация

При использовании технологии рендеринга в браузере selenium для сканирования информации на сайте по умолчанию это обычный браузер с чистым Chrome, и мы обычно добавляем некоторые плагины, расширения, агенты и другие приложения при использовании браузера. Соответственно, когда мы используем браузер Chrome для сканирования веб-сайта, нам может потребоваться выполнить специальную настройку для этого хрома, чтобы он соответствовал поведению сканера.
Обычно используемые поведения:
Запретить загрузку изображений и видео. Увеличьте скорость загрузки веб-страниц.
Добавить прокси: технология защиты от лазания, используемая для доступа к определенным страницам через стену или реагирования на ограничения частоты доступа по IP.
Использовать мобильную голову: зайдите на мобильный сайт, как правило, технология против скалолазания на этом сайте относительно слаба.
Добавить расширения: функционирует как обычный браузер.
Установите код: ответьте на китайскую станцию, чтобы предотвратить искажение символов.
Блокировать выполнение JavaScript.
………

2. Окружающая среда

python 3.6.1
Система: win7
IDE:pycharm
Установили браузер Chrome
Хромированный драйвер настроен
selenium 3.7.0

ChromeOptions - это класс, который настраивает запуск Chrome как атрибут. С помощью этого класса мы можем настроить следующие параметры для Chrome (эту часть можно увидеть через исходный код селена):
Установить местоположение двоичного файла Chrome (binary_location)
Добавить параметры запуска (add_argument)
Добавить приложение расширения (add_extension, add_encoded_extension)
Добавить параметры экспериментальной настройки (add_experimental_option)
Установить адрес отладчика (debugger_address)

4. Общая конфигурация

4.1 Установить формат кодировки

4.2 Моделирование мобильных устройств

4.3 Запретить загрузку изображений

Это может увеличить скорость сканирования без загрузки изображений.

4.4 Добавить агента

Добавьте прокси-сервер для искателя селена. В этом месте особенно важно отметить, что при выборе прокси-сервера старайтесь выбирать статический IP-адрес, чтобы повысить стабильность сканирования. Потому что если вы выбираете селен в качестве сканера, это означает, что антискользящая способность веб-сайта относительно высока (в противном случае он находится прямо на скрапе), и у него более высокий контроль согласованности между веб-страницами, файлами cookie и статусом пользователя. Если вы используете динамический анонимный IP, время выживания каждого IP будет очень коротким (1

4.5 Настройки параметров браузера

Обычно Selenium открывает чистый браузер без расширений, но иногда мы хотим установить в браузере некоторые настройки, например, установить значение по умолчанию для параметра flash, чтобы всегда разрешать глобальное удаление файлов cookie, очистку кешей и тому подобное.
Для достижения этой цели существует способ мышления. В качестве примера ниже приводится браузер Chrome:
Когда запускается искатель селена, сначала откройте окно, введите в адресную строку: chrome: // settings / content или chrome: // settings / privacy, а затем программу, как в обычном веб-приложении. Аналогично, установите и сохраните.
Напишите описание изображения здесь

4.6. Добавить приложение для расширения браузера

Обычно Selenium открывает чистый браузер без расширений, но иногда нам нужно использовать некоторые плагины для обхода данных, такие как класс синтаксического анализа xpath helper, класс перевода и получение дополнительной информации (продажи). Итак, как мы можем добавить некоторые плагины, которые нам нужны, когда мы запускаем chromedriver?

Ниже приведен пример загрузки подключаемого модуля Xpath Helper в Chrome:

4.6.2 Заполните путь к плагину в коде

4.6.3 Отображение результатов

Напишите описание изображения здесь
4.6.4. Примечания

5. Другие параметры

5.1 Команды адресной строки Chrome

Введите следующую команду в адресной строке браузера Chrome, и соответствующий результат будет возвращен. Эти команды включают в себя просмотр состояния памяти, состояния браузера, состояния сети, состояния DNS-сервера, кеша подключаемых модулей и т. Д. Однако следует отметить, что эти команды постоянно меняются, поэтому их не обязательно легко использовать.
about: version - отображает текущую версию
about: memory - отображает использование памяти локальным браузером
about: plugins-отображает установленные плагины
about: история отображения гистограмм
about: dns-отображает статус DNS
about: кэш-страница отображения кеша
about: gpu-есть ли аппаратное ускорение
О файле: flags-Open Некоторые плагины // После использования что-то всплывает: «Пожалуйста, будьте осторожны, эти эксперименты могут быть рискованными», интересно, если я испорчу свою конфигурацию!
chrome: // extensions / -Просмотреть установленные расширения

5.2 Практические параметры Chrome

Некоторые другие практические параметры о Chrome и краткие китайские инструкции, способ использования такой же, как и выше 4.5.4, конечно, его также можно использовать в оболочке.

Конфигурация драйвера браузера Selenium, составленная великим богом

Sticky 22 августа 2018 г. 10:50:43Хана Ода Число для чтения: 707 Метки:Python3 Selenium Chrome Убрать

Официальная документация Selenium

Гугл Хром

Один, конфигурация, связанная с chromeOptions

chromeOptions - это класс, который настраивает свойства запуска Chrome. С помощью этого класса мы можем настроить следующие параметры для chrome (эту часть можно увидеть в исходном коде селена):

1. Задайте расположение двоичного файла Chrome (binary_location)
2. Добавьте параметры запуска (add_argument)
3. Добавьте приложение расширения (add_extension, add_encoded_extension)
4. Добавьте экспериментальные параметры настройки (add_experimental_option)
5. Задайте адрес отладчика (debugger_address)

Анализ исходного кода:

1. Имитация мобильных устройств.

2 запретить загрузку изображений

3. Добавить прокси

4. Установите расширение crx при запуске браузера.

5. Загрузите все конфигурации Chrome.

В адресной строке Chrome введите chrome: // version /, проверьте «путь к профилю», а затем вызовите этот файл конфигурации при запуске браузера. Код выглядит следующим образом:

6. Хранить файлы cookie

Сохраняйте постоянный вход в систему между сеансами, используя параметр Chromeuser-data-dir

Две команды хромированной адресной строки

About: version-Показать текущую версию
about: memory - отображение использования памяти локальным браузером.
about: plugins - показать установленные плагины
about: histograms-show history
about: dns-Показать статус DNS
about: cache-Показать кешированную страницу
about: gpu - есть ли аппаратное ускорение
about: flags-open some plug-ins // После использования выскакивает что-то вроде этого: «Будьте осторожны, эти эксперименты могут быть рискованными». Интересно, не испортит ли это мою конфигурацию!
chrome: // extensions / -Просмотр установленных расширений

Три хромированных практичных параметра

В предыдущем разделе т.е. Модуль XNUMX учебного пособия мы узнали о Selenium Architecture, внутренних функциях и возможностях Selenium.

Запуск браузеров в Selenium

Учебное пособие по Selenium - Запуск браузеров в SelenSeium

Selenium -Tutorial: Список тем

Архитектура Selenium WebDriver - подробности

Работа с различными браузерами в Selenium

Команды Advance и Critical Selenium

Все о классе действий в Selenium и исчерпывающем использовании

Все 12 критических методов исполнителя JavaScript в Selenium

71 Вопросы на собеседовании по Selenium, на которые не давали правильного ответа

Интеграция Selenium с Perfecto

Установка Selenium:

Для работы с Selenium вам необходимо пройти следующие процессы, а именно:

Установите Java в систему:

Следующим шагом вам нужно установить JAVA_HOME путь из переменной окружения (путем копирования пути к скачанным каталогам до бункер папку), а также обновите PATH переменная ваших системных переменных.

Чтобы проверить правильность выполнения вышеуказанных шагов, перейдите в командную строку и выполните java - версия, он должен показать вам установленную версию JDK.

Настройте IDE, например Eclipse или Intellij:

Вы можете выбрать свою любимую IDE для написания сценариев автоматизации, разработки инфраструктуры автоматизации и т. Д., Вы можете выбрать Затмение or Редакция сообщества Intellij для этого.

Загрузите файл jar Selenium Webdriver из Selenium Dev.

Настройте Selenium в IDE (Eclipse)

После того, как вы загрузили свою любимую среду IDE, откройте ее (Eclipse или Idea) и создать новый проект Java. Укажите название проекта и создать пакет внутри только что созданного проекта, затем создайте класс Java с собственным именем (например, DemoTest.java и т. д.).

Как только вышеуказанные шаги будут выполнены, тогда вам нужно добавить Selenium Jar что вы скачали с Selenium DEV в библиотеках путей сборки Java в Eclipse работать с Selenium следующим образом:

ШАГ 1—> Щелкните правой кнопкой мыши проект, перейти к свойствам вариант. Нажмите на Путь сборки Java во вновь открывшемся диалоговом окне.

ШАГ 2 -> Нажмите на опцию библиотек, а затем нажмите на Добавить внешние JAR и выберите свои Selenium JAR в зависимости от того, что вы загрузили, таким образом вы можете добавить любые другие загруженный извне JAR в рабочую область IDE.

Запуск браузеров в Selenium Webdriver:

С помощью этих разделов мы сделали Процесс установки или настройки Selenium, теперь в следующем разделе мы проведем практические Запуск браузеров в Selenium с различными браузерами, такими как браузер Firefox, браузер Chrome, браузер IE, браузеры Safari и т. Д.

Как запустить браузер Firefox в Selenium Webdriver:

Для работы с Firefox вам потребуется загрузить GeckODriver, который по сути является драйвером браузера для Firefox.

ШАГ 2 -> Задайте путь в браузере для geckodriver.

Фрагменты кода для Запустить браузер Firefox в Selenium java

Приведенный выше код предназначен для возврата FirefoxDriver, если вы хотите запустить драйвер firefox.

Вот приведенный ниже код в основном формате public static void, который запускает браузер firefox с использованием селена, а также выполняет переход к тестируемому веб-приложению.

Как запустить браузер Chrome в Selenium WebDriver

Аналогично для работы с браузером Chrome с Selenium вам необходимо скачать файл Chromedriver и установите путь к браузеру драйвера из вашего скрипта.

Опять же, приведенный выше код предназначен для возврата экземпляра ChromeDriver, если вы хотите запустить браузер Chrome с Selenium.

Вот приведенный ниже код в основном формате public static void, который запускает браузер Chrome с использованием селена, а также выполняет переход к тестируемому веб-приложению.

Как запустить ie в selenium Webdriver:

Аналогично для работы с браузером IE с Selenium вам необходимо скачать файл IE и установите путь к браузеру драйвера из вашего скрипта.

Вот фрагмент кода ниже для запуска браузера IE в Selenium:

Как запустить сафари в selenium Webdriver:

Для работы с браузером Safari с Selenium вы можете следовать приведенному ниже фрагменту кода.

Как запустить браузер Edge на селене:

Имя Загрузите драйвер Edge Exe файл и установите путь, используя System.setProperty как и раньше, что мы делали для другого браузера, а затем возвращаем пограничный браузер.

Вот фрагмент кода ниже для запуска браузера Edge в Selenium.

Вывод: В этом разделе руководства мы узнали, как установить Selenium и запустить браузеры в Selenium и открыть его с помощью URL-адреса приложения.

Читайте также: