Как загрузить файл в DHC-REST/HTTP API с помощью Selenium

Я пытаюсь отправить запрос POST с Chrome расширение DHC https://chrome.google.com/webstore/detail/dhc-resthttp-api-client/aejoelaoggembcahagimdiliamlcdmfm?hl=en (я знаю, что существует много инструментов для отправки http запросы, но мне нужно использовать этот). Я написал следующий код:

from selenium.webdriver.chrome.options import Options
from selenium import webdriver

# Add Option to be able to use DHC extension
chrome_options = Options()
chrome_options.add_extension('/usr/lib/firefox/browser/extensions/aejoelaoggembcahagimdiliamlcdmfm-0.8.6.2-www.Crx4Chrome.com.crx')
# Start browser session
dr = webdriver.Chrome(chrome_options=chrome_options)
# Open Extension page
dr.get('chrome-extension://aejoelaoggembcahagimdiliamlcdmfm/dhc.html')
# Close update pop-up if exists
try:
    dr.find_element_by_xpath('//a[@class="btn btn-info"]').click()
except:
    pass
# Change HTTP request type to POST
request_type = dr.find_elements_by_xpath('//input[@class="gwt-TextBox"]')[1]    
request_type.clear()
request_type.send_keys("POST")
# Choose body type 'file'
dr.find_element_by_xpath('//div[@class="pane-head"]').click()
dr.find_elements_by_xpath('//li[@class="dropdown right"]')[1].click()
dr.find_element_by_xpath('//a[contains(text(), "file")]').click()
# Set path to file I want to send
dr.find_element_by_xpath('//input[@class="gwt-FileUpload"]').send_keys('/path/to/file/dummy3gb')

После последнего шага появляется имя загруженного файла, но фактический размер файла составляет 0 байт, и я не могу отправить запрос, так как содержимое не распознано введите описание изображения здесь в то время как если выбрать файл вручную из запроса на загрузку, отображается правильный размер файла, и я могу отправить запрос введите описание изображения здесь

Я делаю что-то неправильно? Есть идеи?

1 ответ

Когда вы хотите проверить свой API от DHC для метода post. есть опция для типа ввода, например, первый - тест, а второй - файл. Согласно изображению.

введите описание изображения здесь

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

Другие вопросы по тегам