загрузить файл с помощью диалогового окна Chrome File Upload с помощью веб-драйвера selenium в автономном режиме в Python - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь использовать драйвер селена Chrome в автономном режиме для загрузки файла в Интернет, но Интернет не поддерживает входные теги для использования send_key, он открывает диалоговое окно Chrome Загрузка файла. Я пытаюсь использовать pyautogui для управления клавиатурой и вводить путь к файлу на моем компьютере к диалоговому окну, но он работает без режима «без головы».

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

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете попробовать запустить Javascript, чтобы раскрыть элемент input. Я лично запускал тесты в режиме без головы, которые успешно выполняют эту функцию.

# Fetch file input element
fileInput = driver.find_element_by_xpath("//input[@type='file']")

#  Execute Javascript to reveal the element
driver.execute_script("arguments[0].style.display = 'block';", fileInputElement)

# Send keys to file input
fileInput.send_keys("Path/To/File/To/Upload")

Как только вы это сделаете, вы можете send_keys к скрытому элементу.

...