Chrome
拡張機能付きの POST リクエストを送信しようとしていDHC
ます https://chrome.google.com/webstore/detail/dhc-resthttp-api-client/aejoelaoggembcahagimdiliamlcdmfm?hl=enhttp
(リクエストを送信するためのツールがたくさんあることは知っています) 、しかし、私はこれを使用する必要があります)。私は次のコードを書きました:
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 バイトであり、コンテンツが認識されないためリクエストを送信できませんが 、アップロード プロンプトから手動でファイルを選択すると、適切なファイル サイズが表示され、リクエストを送信できます。
私は何か間違ったことをしていますか?何か案は?