Загрузить файл через Селен, если сторонний API-сервис использует для загрузки файла - PullRequest
0 голосов
/ 10 ноября 2019

Вот страница, на которой я пытаюсь загрузить файл с селеном / питоном

<div class="form-group-inner photo-form-group-inner success icn-item"><span class="label">Photo ID</span><div class="photo-label-wrapper"><div class="photo-label btn_fix-width"><label for="photo" class="btn btn_fix-width btn_block border photo-btn">Upload</label></div></div><input type="file" id="photo" accept=".jpg,.jpeg,.png"></div>

Я пробовал через sendkeys Попытался изменить тип файла *От 1009 * до текст и также применять путь. В дополнительной загрузке используется сторонний сервис через API-запрос для хранения изображений. При написании этого поста выяснилось, что можно попытаться отправить api-запрос на получение загруженного кода файла, но как в этом случае поместить его в элемент css поля страницы?

Спасибо.

1 Ответ

0 голосов
/ 11 ноября 2019

Если вы хотите пойти по маршруту Selenium, вы можете попробовать запустить Javascript в файле, чтобы открыть его, а затем отправить ключи:

# fetch the input
file_input = driver.find_element_by_xpath("//input[@type='file']")

# reveal the input with JS
driver.execute_script("arguments[0].style.display = 'block';", file_input)

# send keys
file_input.send_keys(path_to_file)

Я использовал это решение много раз впрошлое с успехом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...