I'm trying to send POST request with Chrome
extension DHC
https://chrome.google.com/webstore/detail/dhc-resthttp-api-client/aejoelaoggembcahagimdiliamlcdmfm?hl=en (I know that there are a lot of tools to send http
requests, but I need to use this one).
I wrote following code:
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')
After last step name of uploaded file appears, but actual file size is 0 bytes and I can't send request as content is not recognized
while if to choose file manually from upload prompt proper file size is displayed and I can send request
Am I doing something wrong? Any ideas?