Проблема в сеансе Selenium Browserstack: загрузка существующего профиля Chrome - PullRequest
0 голосов
/ 11 октября 2018

Я выполняю тест с Selenium (Python) удаленно в Browserstack Automate.

Цель : я хочу начать сеанс в Browserstack, когда в систему вошел существующий профиль Chrome.

  • - Основная цель: я пытаюсь получить доступ к Whatsapp Web без необходимости каждый раз сканировать QR-код.(Создание автоматизированной службы WhatsApp)

Так что было бы хорошо, если бы новый профиль создавался впервые - отсканируйте QR-код один раз, а затем повторно используйте этот профиль.

Метод : я пытаюсь использовать Chrome Options и указываю аргумент для user-data-dir.Это было вдохновлено несколькими другими ответами StackOverflow.

Код:

desired_caps = {
    'browser': 'Chrome',
    'browser_version': '69.0 beta',
    'os': 'Windows',
    'os_version': '10',
    'resolution': '1024x768',
    'browserstack.debug': 'true',
}
desired_caps['browserstack.local'] = True
desired_caps['chromeOptions'] = {}       
desired_caps['chromeOptions']['args'] = [r'--user-data-dir=C:\Users\gille\AppData\Local\Google\Chrome\User Data']
driver = webdriver.Remote(command_executor='http://MYBROWSERSTACKHUB', desired_capabilities=desired_caps)

Я пытаюсь запустить это на Browserstack (локально), но я получаю следующую ошибку при запуске:

"Не удалось инициализировать класс org.openqa.selenium.os.Kernel32"

См. Изображение с ошибкой Browserstack

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

desired_caps['chromeOptions']['args'] = [r'--user-data-dir=C:\Users\gille\AppData\Local\Google\Chrome\User Data\ProfileXXX']

Но появляется та же ошибка.

(Я также пробовал другие методы, которые не работали для меня: - Сохранение и повторная загрузкаcookie - изменение session_id и session_url (не работает в Browserstack))

Я чувствую, что: - или это может быть проблемой с Browserstack, - или я указываю неправильный путь для user-data-dir,и должен идти с другим, например, chrome_options.add_argument ("user-data-dir =" + os.path.dirname (sys.argv [0])

Но я незнаком с последним - такЯ не уверен, что делать дальше. Есть ли у вас какие-либо советы?лед

1 Ответ

0 голосов
/ 12 октября 2018

Используйте заглавные буквы, как показано ниже:

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");
caps.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL(CloudConfiguration.URL), caps);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...