i have a button on target system page, when i click it download dialog appears and i can download it into filesystem. but i would like that when the download button is clicked not to save the file into disk, download file into memory so i can post it as email attachment.
i have found python solution but i can not convert it into java. and i think it is chrome specific which it dont want? and also downlink is not exposed.
Using Python Selenium to download a file in memory, not in disk
capabilities = DesiredCapabilities().CHROME
chrome_options = Options()
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-infobars")
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-popup-blocking")
prefs = {
'profile.default_content_setting_values':
{
'automatic_downloads': 0
},
'profile.content_settings.exceptions':
{
'automatic_downloads': 0
}
}
chrome_options.add_experimental_option('prefs', prefs)
capabilities.update(chrome_options.to_capabilities())
driver = webdriver.Chrome('/usr/local/bin/chromedriver', options=chrome_options)
url_main = 'https://file-examples.com/index.php/sample-documents-download/sample-xls-download/'
driver.get(url_main)
elements = driver.find_elements_by_xpath('//*[@id="table-files"]//td/a')
for element in elements:
if str(element.get_attribute("href")).endswith('.xls'):
file_object = StringIO(element.get_attribute("href"))
xls_file = file_object.read()
df = pd.read_excel(xls_file)
print(df.to_string(index=False))
how can i download file into memory in selenium?
thanks.