Как скачать файл с сайта с помощью AJAX с безголовым хромом и селеном - PullRequest
0 голосов
/ 28 марта 2019

У меня есть скрипт на python, где я использую селен, чтобы перейти на веб-сайт, использующий AJAX, и нажать кнопку загрузки файла.Я смог заставить его работать, когда не без головы, и смог загрузить его, когда без головы, с другого сайта, который не использует AJAX.Когда я пытаюсь запустить его без сайта на AJAX-сайте, он нажимает кнопку загрузки, и все выглядит так, будто оно регистрируется, но фактически не загружается.

Запуск на сервере Linux с обновленными Chrome и chromedriver.

Используемые параметры:

chrome_options = Options()
chrome_options.add_argument("headless") 
chrome_options.add_argument("disable-popup-blocking")
chrome_options.add_argument("enable-accessibility-tab-switcher")
chrome_options.add_argument("window-size=1900,1080")
chrome_options.add_experimental_option("prefs", {"download.default_directory":"path/name","download.prompt_for_download": False,})

chrome_options.add_argument("user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36")
chrome_options.add_argument("disable-notifications")
chrome_options.add_argument('disable-gpu')

Нажатие кнопки:

driver.find_element_by_xpath('//*[@id="ZZ_SCPRS_SP_WRK_BUTTON_BACKWARD"]').click()

Ожидается, что загрузка начнется, но просто будет указывать, что загрузка скоро начнется.

...