Selenium ChromeDriver: файл не загружается после нажатия кнопки загрузкиPython

Программы на Python
Ответить
Anonymous
 Selenium ChromeDriver: файл не загружается после нажатия кнопки загрузки

Сообщение Anonymous »

Я пытаюсь автоматизировать процесс загрузки файла с помощью Selenium с ChromeDriver, но файл не загружается в указанный каталог.
Проблема: программа работает без ошибок, но файл не загружается в каталог C:/Users/timit/Downloads. Я проверил, что нажатие кнопки работает должным образом.
Вот код, который я использую:

Код: Выделить всё

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import os  # For environment variables

# Chrome setup for file download
chrome_options = Options()
chrome_options.add_argument(r"user-data-dir=C:\Users\YourUser\AppData\Local\Google\Chrome\User Data")  # Profile path
chrome_options.add_argument("--profile-directory=ProfileName")  # Profile name
prefs = {
"download.default_directory": "C:/Users/YourUser/Downloads",
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True
}
chrome_options.add_experimental_option("prefs", prefs)

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

# Login details (not included in this snippet)
client_code = os.getenv('CLIENT_CODE', 'YourClientCode')
username = os.getenv('USERNAME', 'YourUsername')
password = os.getenv('PASSWORD', 'YourPassword')

# Navigate to login page
driver.get('https://login.tharanis.hu/belep.php')

# Login steps
driver.find_element(By.XPATH, '//*[@id="ukod"]').send_keys(client_code)
driver.find_element(By.XPATH, '//*[@id="username"]').send_keys(username)
driver.find_element(By.XPATH, '//*[@id="password"]').send_keys(password)
driver.find_element(By.XPATH, '//*[@id="okb"]').click()
time.sleep(5)

# Navigate through menu and click download
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//*[@id="menu_main"]/li[3]'))
).click()
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//*[@id="menu_aruforgalom"]/li[3]/ul/li[1]/a'))
).click()
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//*[@id="rakkeszw_footer"]/table/tbody/tr/td/input'))
).click()

# Wait for the download to complete
time.sleep(10)

driver.quit()
Что я пробовал:
Убедился, что каталог загрузки правильно установлен в настройках.
Проверил настройки браузера, чтобы убедиться, что загрузка не требует подтверждения.Использовалась новая установка ChromeDriver.
Вопросы:
Что может быть причиной того, что файл не загружается?
Есть ли дополнительные настройки браузера или Selenium, которые мне следует настроить? ?
Может ли эта проблема быть связана с запросами на стороне сервера или аутентификацией?
Будем благодарны за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... oad-button
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»