Как скачать файл безголового хрома (селена)? - PullRequest
0 голосов
/ 26 апреля 2019

Я просто хочу скачать файл с сайта с селеном.Мой код прекрасно работает с Chrome, но не с безголовым Chrome только для части загрузки.Я только что нашел эту тему о проблеме: Загрузка файла безголового Chrome с Selenium в Python Так что я добавляю 3 строки в свой код, но он все еще работает не очень хорошо.Вот мой код с безголовой частью (Экран позволяет быть уверенным, что код работает правильно до момента загрузки.):


    ### headless part
    options = Options()
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    options.add_argument('--disable-gpu')
    driver = webdriver.Chrome(options=options)

    # part add from the other topic
    driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
    params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': 'path_for_download'}}
    driver.execute("send_command", params)
    # end part add

    driver.implicitly_wait(20)
    ### end headless


    driver.get("thewebsite")
    button = driver.find_element_by_id('menutop')
    items = button.find_elements_by_tag_name("li")
    ActionChains(driver).move_to_element(items[0]).perform()
    ActionChains(driver).click().perform()
    button = driver.find_element_by_id('coremenu2')
    ActionChains(driver).move_to_element(button).perform()
    ActionChains(driver).click().perform()
    driver.find_element_by_xpath("//input[@value='excel']").click()
    driver.find_element_by_xpath("//input[@value='Generar']").click()
    time.sleep(5)
    driver.save_screenshot("screenexcel.png")

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

...