У меня проблемы с загрузкой файлов с помощью Selenium Chrome в Python в режиме без головы. Я проверил несколько ответов здесь, и большинство из них одинаковы. они говорят о добавлении префов и экспериментальных опций.
Скачать с python селеном
Selenium Webdriver: Как скачать файл PDF с Python?
Загрузка PDF с использованием Selenium, Chrome и Python
Загрузка с chrome без головы и селена
Ничто из этого не помогло и я начинаю задумываться, имеет ли это какое-то отношение к моей среде.
Ubuntu: 20.04
Python: 3.8.2
Chromeium-браузер: Chromium 80.0.3987.162 snap
Cromium-драйвер: ChromeDriver 80.0. 3987.162 (f2c5dd6138153bb0658091205bd1a1717f16081a-refs / branch -head / 3987 @ {# 1034})
Вот базовый c пример кода, который не работает. он завершается без каких-либо ошибок, но файл никогда не загружается.
#!/usr/bin/env python3
import os
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
IMG_DIR = '/images/'
if not os.path.exists(IMG_DIR):
os.makedirs(IMG_DIR)
options = Options()
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--disable-setuid-sandbox")
options.add_argument("--window-size=1920,1080")
prefs = {"download.default_directory" : IMG_DIR}
options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(options=options, executable_path='chromedriver')
driver.get('https://www.thinkbroadband.com/download')
#Find the Extra Small file on port 80
download_button = driver.find_element_by_xpath('//*[@id="main-col"]/div/div/div[8]/p[2]/a[1]')
driver.execute_script("arguments[0].scrollIntoView();", download_button)
download_button.click()
time.sleep(10)
driver.save_screenshot('{}page.png'.format(IMG_DIR))
driver.get('chrome://downloads')
time.sleep(10)
driver.switch_to.window(driver.window_handles[-1])
driver.save_screenshot('{}downloads.png'.format(IMG_DIR))
driver.close()
driver.quit()
Я прикрепил оба снимка экрана, но страница загрузок всегда отображается в виде пустой белой страницы.
Сайт загрузки тестового файла :
Chrome Страница загрузки:
Пожалуйста help!
ОБНОВЛЕНИЕ: Я удалил версии оснастки chrome, и кажется, что она работает лучше. я могу скачать файлы в пользовательский каталог. Должна быть ошибка в версии Snap.