Неполная загрузка безголового Chrome с использованием Selenium для Python - PullRequest
0 голосов
/ 12 февраля 2019

Я использую автоматизированный набор тестов, который будет выполняться на удаленном сервере.Я успешно разработал тесты, однако теперь мне нужно убедиться, что они запускаются в режиме без головы.

Я перемещаюсь по веб-странице с помощью различных селекторов, нажимая кнопки и т. Д., И в конце концов нажимаю кнопку загрузки.

Я активирую безголовый режим и использую команду setDownloadBehavior, которая регулярно отображается следующим образом:

    chrome_options = Options()

    chrome_options.add_experimental_option("prefs", {"download.default_directory": r"C:\Users\xxx\Downloads", "download.prompt_for_download": False,"download.directory_upgrade": True, "safebrowsing.enabled": True})

    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--headless')

    self.driver = webdriver.Chrome(executable_path=r'C:\Users\xxx\chromedriver.exe', options=chrome_options)

...

    driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
    params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': r"C:\Users\xxx\Downloads"}}
    driver.execute("send_command", params)

Это работает успешно, однако вместо загрузки требуемого файла онозагружает файл с правильным именем, но пустой (файл объемом 1 КБ без содержимого).Если я запускаю программу без использования команды chrome_options.add_argument ('- headless'), она отлично работает.

Есть предложения о том, как решить эту проблему?

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