Невозможно загрузить файл, когда chromedriver находится в режиме без головы. Как заставить это работать? - PullRequest
1 голос
/ 19 марта 2019

Во время теста файл (.html) будет загружен из веб-приложения, и я должен проверить этот файл, открыв его в браузере.В режиме без головы мой тест работает нормально.Но всякий раз, когда я перехожу в безголовый режим, этот файл не загружается по пути загрузки (т.е. указан в «user.dir»).Моя версия драйвера для Chrome - 2.44.609538, а версия для селена - 3.14.

Ответы [ 3 ]

0 голосов
/ 19 марта 2019

Вы запускаете тест из командной строки?

Поскольку, согласно ответу на этот вопрос и это , при запуске его из командной строки ваш user.dir соответствует вашему глобальному каталогу пользователей (C: \ users \ имя пользователя).

0 голосов
/ 07 июня 2019

Это сработало для нашей реализации ruby:

Capybara.register_driver :scrapping_driver do |app|
      options = Selenium::WebDriver::Chrome::Options.new
      options.add_argument('--headless')
      options.add_argument('--disable-popup-blocking')
      options.add_argument('--disable-gpu')
      options.add_argument('--no-sandbox')
      options.add_argument('--disable-dev-shm-usage')
      options.add_argument('--window-size=1366,2000')
      options.add_preference(:download, directory_upgrade: true,
                                prompt_for_download: false,
                                default_directory: "#{Rails.root}/")
      options.add_preference(:browser, set_download_behavior: { behavior: 'allow' })
      Selenium::WebDriver::Service.driver_path = Webdrivers::Chromedriver.driver_path
      driver = Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
    end

Обратите внимание на поведение при загрузке

0 голосов
/ 19 марта 2019

Видимо, это может помочь вам

Shawn Button опубликовать ответ, связанный с ним.

Загрузка без хрома и селена

...