Как открыть профиль Chrome с помощью аргумента --user-data-dir в Selenium - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь загрузить браузер Chrome с селеном, используя мою существующую учетную запись и настройки из своего профиля.
Я могу заставить это работать, используя ChromeOptions, чтобы установить userdatadir и каталог профиля.Это загружает браузер с моим профилем так, как я хочу, но затем браузер зависает в течение 60 секунд и время ожидания не продвигается дальше.
Если я не использую каталог пользовательских данных и настройки профиля, это работаетхорошо, но не использует мой профиль.
Чтение, которое я сделал, указывает на невозможность одновременного открытия более одного браузера с одним и тем же профилем, поэтому я убедился, что при запуске программы ничего не было открыто.Он по-прежнему зависает в течение 60 секунд, даже если другой браузер не открыт.

m_Options = new ChromeOptions();
m_Options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data");
m_Options.AddArgument("--profile-directory=Default");
m_Options.AddArgument("--disable-extensions");
m_Driver = new ChromeDriver(@"pathtoexe", m_Options);
m_Driver.Navigate().GoToUrl("somesite");

Он всегда висит на GoToUrl.Я не уверен, что еще попробовать.

1 Ответ

0 голосов
/ 01 июня 2018

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

  • Расширения
  • Закладки
  • История просмотров
  • и т. Д.

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

К создать и открыть новый Профиль Chrome Вам необходимо выполнить следующие шаги:

  • Открыть Chrome браузер, нажать Боковое меню и нажать Настройки , в которых открывается url chrome://settings/.
  • В Люди , нажмите Управление другими людьми , для которыхвсплывающее окно.
  • Нажмите ДОБАВИТЬ ЛИЦА , укажите имя человека , выберите значок , сохраните элемент Создайтеярлык на рабочем столе для этого пользователя отмечен и нажмите кнопку ADD .
  • Ваш новый профиль будет создан.
  • Снимок нового профиля SeLeNiUm

SeLeNiUm

  • Теперь значок на рабочем столе будет создан как SeLeNiUm - Chrome
  • Из свойств иконки на рабочем столе SeLeNiUm - Chrome получить имя каталога профиля.например, - profile-directory = "Профиль 2"

profile-directory

  • Получить абсолютПуть профиля-каталога в вашей системе выглядит следующим образом:

    C:\\Users\\Thranor\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2
    
  • Теперь передайте значение профиля-каталога через экземпляриз ChromeOptions с методом AddArgument вместе с ключом user-data-dir следующим образом:

    m_Options = new ChromeOptions();
    m_Options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data/Profile 2");
    m_Options.AddArgument("--disable-extensions");
    m_Driver = new ChromeDriver(@"pathtoexe", m_Options);
    m_Driver.Navigate().GoToUrl("somesite");
    
  • Выполните Test

  • Наблюдение Chrome инициализируется с помощью Chrome Profile как SeLeNiUm

SeLeNiUm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...