После нескольких дней поиска и экспериментов с любыми решениями, которые я смог найти в Интернете, я сдаюсь и хочу получить помощь от сообщества.
Рубиновые камни (ruby 2.5.1):
watir 6.11.0
selenium-webdriver 3.4.1
Docker:
selenium/node-chrome-debug:3.14
selenium/hub:3.14
Мой рубиновый код:
prefs = {
download: {
prompt_for_download: false,
default_directory: download_directory
}
}
browser = Watir::Browser.new(:chrome, url: selenium_hub_url, options: {prefs: prefs})
Наша установка:
- Запустите selenium / hub и selenium / node-chrome-debug. Отличие в том, что мы монтируем / tmp базовой ОС как / hosttmp / tmp в контейнере узла
- Сделать разговор по selenium / node-chrome-debug к selenium / hub
- Заставьте автоматизацию браузера взаимодействовать с селеном / концентратором, используя приведенный выше код
Проблема в том, что мне никогда не удавалось установить каталог загрузки по умолчанию. Тем не менее, все остальные части работают правильно. Окно VNC показывает, что браузер работает правильно, несмотря на настройки каталога загрузки по умолчанию. Это всегда / home / seluser / Downloads
Вещи, которые я пробовал:
- Идеи других людей, такие как различные способы задания опций и предпочтений. (например, используя возможности)
- Настройки безопасности Docker, такие как: --privileged --security-opt apparmor: не определено --cap-add SYS_ADMIN
- В базовой ОС chmod 777 для каталога download_. Директория download_directory, например, /tmp/tmp.123 в базовой ОС, которая монтируется как /hosttmp/tmp/tmp.123 в контейнере узла chrome, я мог ее увидеть и выполнить несколько операций чтения / записи в этой папке. внутри контейнера или на базе ОС
- Подсказки к интересному рубиновому символу / строке при создании объекта Hash.
У кого-нибудь есть идеи о том, что может привести к этой ситуации? Что еще я мог попробовать? И есть ли журнал, к которому я мог бы обратиться. Нет ошибок или предупреждений при запуске кода. Заранее спасибо.