Как получить данные формы из объекта запроса Playwright?

#python #multipartform-data #playwright #playwright-python

#python #multipartform-данные #драматург #playwright-python

Вопрос:

Я добавляю пользовательский обработчик маршрута на страницу Playwright и пытаюсь проверить запрос, переданный в обработчик. Для контекста вот следующий фрагмент кода:

 def handler(route: Route, request: Request):
    # Do things with `request`
    ...

await page.route('**/*', handler=handler)
 

Для POST / PUT requests с Content-Type помощью of application/json я смог успешно проверить полезную нагрузку с помощью request.post_data_buffer . Однако, когда Content-Type есть multipart/form-data , я не смог найти, где я могу получить данные формы. Все свойства post_data , post_data_buffer , и post_data_json имеют значение None , и я не мог видеть ничего другого в документации, которая могла бы содержать form_data .

Комментарии:

1. post_data следует возвращать данные, если они есть в запросе, если их там нет, стоит сообщить об ошибке с помощью repro в github.com/microsoft/playwright-python

2. @YurySemikhatsky Я открыл проблему: github.com/microsoft/playwright-python/issues/1064 , спасибо за вашу рекомендацию

Ответ №1:

Проблема не имела ничего общего с какими-либо подробностями в моем исходном сообщении. Проблема заключалась в том, что я использовал Chromium, и это известная ошибка, которая post_data не содержит данных файла / большого двоичного объекта.