Загрузка Python для драматурга, получение временного файлаPython

Программы на Python
Ответить
Anonymous
 Загрузка Python для драматурга, получение временного файла

Сообщение Anonymous »

Я пытаюсь использовать код Playwright и Python, чтобы получить с помощью кода несколько бесплатных отчетов.
С помощью следующего кода и существующего окна отладки Chrome я пытаюсь получить отчет, но получаю своего рода временный файл, который невозможно сохранить. в моем браузере:
странный файл
Нажатие кнопки напрямую не работает, поэтому я хотел использовать метод page.evaluate:

Код: Выделить всё

from playwright.sync_api import sync_playwright

def run(playwright):
browser = playwright.chromium.connect_over_cdp('http://localhost:9222')
context = browser.contexts[0]
page = context.pages[0]
with page.expect_download() as download_info:
page.evaluate("""
fetch('https://www.ice.com/marketdata/api/reports/166/download/pdf', {
method: 'POST',
headers: {
'sec-ch-ua-platform': '"Windows"',
'referer': 'https://www.ice.com/report/166',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
'content-type': 'application/x-www-form-urlencoded',
'sec-ch-ua-mobile': '?0'
},
body: new URLSearchParams({
'exchangeCodeAndContract': 'IFLX,C',
'selectedDate': '2025-01-02'
})
}).then(response => response.blob())
.then(blob => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.style.display = 'none';
a.href = url;
a.download = 'report.pdf';
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);
});
""")

download = download_info.value
download.save_as('test.pdf')

try:
while True:
pass
except KeyboardInterrupt:
print("Program terminated by user.")
finally:
page.close()
context.close()
browser.close()

with sync_playwright() as playwright:
run(playwright)

Есть идеи?
Спасибо
Лоран

Подробнее здесь: https://stackoverflow.com/questions/793 ... orary-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»