Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Открыть браузер Версия

...

28 (Java)

Группа действий: Браузеры

...

Описание

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

Иконка действия

Image Modified

Параметры

...

Входные параметры:

Поле "Браузер- Браузер, который необходимо открыть. По умолчанию Chrome.Выпадающий список: Chrome, Яндекс, Firefox, Internet Explorer, Edge (chromium). 

Поле "Свойства- Список свойств браузера и их значений, которые будут установлены при запуске браузера. В JSON формате, описывающий список свойств браузера и их значений, которые будут установлены при запуске. Если параметр заполнен, его значения имеют преимущества перед значениями остальных полей. Подключить расширения и задать профиль можно через этот параметр.

Поле "Время явного ожидания" - Время на ожидание изменения свойств отдельных элементов. Задается предельное значение времени ожидания для использования по умолчанию в действиях группы, определяющее время доступа к элементам. Измеряется в миллисекундах.

Поле "Фоновый режим- Открытие в невидимом режиме. Internet Explorer не поддерживает данную настройку.

Поле "Адрес- URL, по которому должен быть выполнен переход после открытия браузера.

Поле "Сохранить в- Путь к папке, в которую должны сохраняться файлы при загрузке.

Выходные параметры:

Контекст Контекст открытого сеанса работы с браузером, к которому будут обращаться дальнейшие действия.

Настройки

и их настройки

СвойствоАнгл. наименование
Свойство
ОписаниеТипПример заполненияОбязательность заполнения поля
Параметры
Браузер
Browser

Браузер, который необходимо открыть

.

По

умолчанию Chrome.

умолчанию Chrome


Выпадающий список:

  • Chrome
  • Яндекс
  • Firefox
  • Internet Explorer
  • Edge (chromium)
Строка

Yandex

Нет

Свойства

Advanced settings

Список свойств браузера и их значений, которые будут установлены при запуске браузера

.


В JSON формате, описывающий список свойств браузера и их значений, которые будут установлены при запуске

.

Если параметр заполнен, его значения имеют преимущества перед значениями остальных полей

.

Подключить расширения и задать профиль можно через этот параметр

Строка


JSON по шаблонуНет

Время явного ожидания

Time out

Время на ожидание изменения свойств отдельных элементов

.


Задается

предельное значение времени

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

.

Измеряется в миллисекундах

.

Число10000Нет
Фоновый режим
Background mode

Открытие в невидимом режиме

.


Internet Explorer не поддерживает данную настройку 

(вопрос)

Логический falseНет
Адрес

URL

URL

, по которому должен быть выполнен переход после открытия браузера

.

Строкаhttps://yandex.ru/Нет

Сохранить в

Save to

Путь к папке, в которую должны сохраняться файлы при загрузке

Robin.FolderPath

C:\doc\img

Нет
Результаты
Контекст
Context

Контекст открытого сеанса работы с браузером, к которому будут обращаться дальнейшие действия

.


Экземпляр браузера, с которым будет работать Selenium

.

Контекст сеанса работы с браузеромКонтекст браузера

Особые условия использования 

Пример

...

1. Заполнение поля "Свойства" (заполнено автоматически, путем записи действий в Recorder)

...

Блок кода
languageerl
themeEclipse
{"acceptInsecureCerts":true,
"browserName":"chrome",
"goog: loggingPrefs":{"browser":"ALL"},
"timeouts":{"implicit":0,"pageLoad":300003,"script":30003},
"unhandledPromptBehavior":"dismiss",
"goog:chromeOptions":{"args":["disable-popup-blocking","disable-notifications","no-sandbox"],"extensions":[]}}

Свойства браузера выглядят примерно следующим образом:

Блок кода
languageerl
themeEclipse
{"acceptInsecureCerts":true,

...


"browserName":"chrome",

...


"goog: loggingPrefs":{"browser":"ALL"},

...


"timeouts":{"implicit":0,"pageLoad":300003,"script":30003},

...


"unhandledPromptBehavior":"dismiss",

...


"goog:chromeOptions":{"args":["disable-popup-blocking","disable-notifications","no-sandbox","--disable-blink-features=AutomationControlled"],"extensions":[]}}

...


Примечание

...

В путях до папок/файлов обратный слэш обязательно нужно экранировать (С:\\Users\\User или С:/Users/User ). 

Большинство возможностей доступно через объект ChromeOptions (выделены в свойствах жирным начертанием). Он используется для управления различными свойствами драйвера браузера. Поэтому данный объект интересует нас в большей степени.

Обозначается следующим образом:

Без форматирования
"goog:chromeOptions":{"Опция 1": Значение 1, "Опция 2": Значение 2}.

Значений опций могут быть следующих типов:

  • Строка – "text";
  • Список строк – ["text1", "text2"];
  • Словарь - {"key1": "value1","key2": "value2"};
  • Логический тип – false/true.

В примере, в самом начале текста, использованы опции «args» и «extensions». Весь список опции объекта ChromeOptions представлен в таблице. Зеленым выделены наиболее часто используемые.

приведенздесь. (https://petersh/experiments/chromium-command-line-switches/) .docx    

Имя опции

Тип

По умолчанию

Описание опции  

args 

Список строк 

 


Список аргументов командной строки, используемых при запуске Chrome. Аргументы со связанным значением должны быть разделены знаком '=' (например, ‘args’ : ['start-maximized', 'user-data-dir=C:/Users/User/AppData/Local/Google/Chrome/User Data/Default']). Список аргументов Chrome

.

binary

Строка

 


Путь к исполняемому файлу Chrome для использования

extensions

Список строк


Список расширений Chrome для установки при запуске. Каждый элемент в списке должен иметь упакованное расширение Chrome в кодировке base-64 (.crx)

Получение crx расширения

localState

Словарь

 


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

prefs

Словарь

 


Словарь с каждой записью, состоящей из названия предпочтения и его значения. Эти настройки применяются только к используемому профилю пользователя. Примеры см. в файле «Preferences» в каталоге пользовательских данных Chrome (C:\Users\{User}\AppData\Local\Google\Chrome\User Data\{GoogleUser}).

detach

Логический тип

false 

Если значение равно false, Chrome будет закрыт, когда ChromeDriver будет убит, независимо от того, завершен ли сеанс. Если значение равно true, Chrome будет закрыт только в том случае, если сеанс завершен (или закрыт). Обратите внимание, что если значение равно true и сеанс не завершен, ChromeDriver не сможет очистить каталог временных данных пользователя, используемый запущенным экземпляром Chrome.

debuggerAddress

Строка


Адрес сервера отладчика Chrome для подключения в виде <hostname/ip:port>, например '127.0.0.1:38947'

excludeSwitches

Список строк


Список переключателей командной строки Chrome, чтобы исключить передачу ChromeDriver по умолчанию при запуске Chrome. Указывать свитчи без префикса --.

minidumpPath 

Строка

 


Каталог для хранения мини-дампов Chrome.  (Поддерживается только в Linux.)

mobileEmulation

Словарь


Словарь со значением "deviceName" или значениями для "deviceMetrics" и "userAgent". Дополнительные сведения см. в разделе Эмуляция мобильных устройств. https://chromedriver.chromium.org/mobile-emulation

Пример: "mobileEmulation": {"deviceName": "iPhone 12 Pro"}

windowTypes

Список строк

 


Список типов окон, которые будут отображаться в списке дескрипторов окон. Для доступа к элементам <webview> включите в этот список "webview".

Часть свойств для запуска Chrome/Яндекс:

Блок кода
languageerl
themeEclipse
{"goog:chromeOptions":{
   "args":[
    "-disable-blink-features=AutomationControlled",
    "disable-popup-blocking",
    "disable-notifications",
    "disable-infobars",
    "disable-gpu",
    "no-sandbox",
    "disable-extensions",
    "start maximized",
    "user-data-dir=C^//Users//robin_user//APPData//Local//Yandex//YandexBrowser//User Data",
    "profile-directory=Profile 1"
 ],
 "excludeSwitches":["enable-automation"],
 "extensions":[]
 }
}


Подсказка

ВАЖНО!

Строка  "excludeSwitches":["enable-automation"] позволяет отключить проверку на управление автоматизированным ПО, а аргумент "disable-extensions" блокирует загрузку плагинов. 

В процессе загрузки плагина проверяется, не работает ли браузер под управлением автоматизированного ПО.

Для того, чтобы загрузить плагин необходимо отключить проверку на управление автоматизированным ПО, а аргумент "disable-extensions" удалить.

...

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

Для этого нужно указать в свойствах "pageLoadStrategy":

Блок кода
languageerl
themeEclipse
{"acceptInsecureCerts":true,"browserName":"chrome","goog: loggingPrefs":{"browser":"ALL"},"pageLoadStrategy": "eager",
"timeouts":{"implicit":0,"pageLoad":300003,"script":30003},
"unhandledPromptBehavior":"dismiss",
"goog:chromeOptions":{"args":["disable-popup-blocking","disable-notifications","no-sandbox"],"extensions":[]}}

Кроме того, вместо значения "eager" можно указать значение "none", но тогда есть риск что страница не загрузится. Значение "eager" ждет только загрузки DOM страницы, не ожидая загрузки скриптов, изображений и других ресурсов, значение "none" вообще не ждет.

...

Пример 2. Сообщение об отсутствии драйвера

При выполнении действия "Открыть браузер" при использовании в файле env.cfg кодировки, отличной от UTF-8, например, с кириллицей - может возникнуть ситуация, когда при наличии драйвера, появляется сообщение об его отсутствии:
Image Added

Результат: действие завершается с ошибкой, потому что драйвер не найден.

Причиной является проблема в кодировке файла env.cfg. В нашем примере на виртуальной машине файл был в кодировке Windows-1251:
Image Added

Для того, чтобы отработало действие "Открыть браузер", нужно сконвертировать и пересохранить файл в кодировке UTF-8:
Image Added

Действие будет запущено, робот завершится без ошибки. Браузер откроется.

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

Пример использования

Задача

Открыть : открыть выбранный браузер на заданной странице, получить контекст действия для работы с действиями группы "Браузеры".

Решение

Воспользоваться : воспользоваться действием "Открыть браузер". 

Реализация

...

  1. Открыть группу действий "Браузеры".
  2. Открыть подгруппу "Окна, вкладки, фреймы"
  3.  
  4. .
  5. Добавить действие "Открыть браузер" на рабочую область. 
    Image Modified
  6. Настроить параметры действия.

...

    1. ...

        1. Поле "Браузер". Выбрать браузер из выпадающего списка, который необходимо открыть.

      ...

        1. \
        2. Поле "Свойства". Указать файл в формате JSON по шаблону, который задаст приоритетные свойства для запуска браузера.

      ...

      ...

        1. Поле "Время явного ожидания". Установить тайм-аут по времени - 1000мс.

      ...

        1. Поле "Фоновый режим". Значение "True" or "False". Оставить "False", что бы браузер открылся в видимом режиме.

      ...

      ...

        1. Поле "Адрес". Указать URL-адрес, по которому перейдет открывшийся браузер -

      ...

        1. https://yandex.ru/

      ...

        1. Поле "Сохранить в". Указать адрес на ПК, куда сохраняться файлы, скачанные если в параметре "Адрес" будет указана ссылка на скачивание.

      ...


        1. Image Modified

      ...

      1. Добавить действие "Закрыть браузер" на рабочую область. Заполнить параметр "Контекст".

      ...

      1. Image Modified

      ...

      1. Запустить робота по кнопке "Старт" в верхней панели.

      Результат

      В видимом : в видимом режиме был открыть открыт браузер Edge, и был выполнен переход на страницу страницу https://yandex.ru/.
      Image Modified