У меня есть сценарий, в котором я пытаюсь отобразить сетевые запросы на элемент, который вызвал запрос.
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.setRequestInterception(true);
page.on("request", async request => {
request.continue();
const frame = request.frame();
const frameContent = await frame.content();
console.log("URL:", url, "\n\nFRAME:\n", frameContent);
})
await page.goto('https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html')
Выход
URL: https://docs.aws.amazon.com/awsjavascriptsdk/latest/css/style.css
FRAME content:
<html><head>
<meta charset="utf-8">
<title>
Class: AWS.S3
— AWS SDK for JavaScript
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8">
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8">
<link rel="stylesheet" href="../css/highlight.github.css" type="text/css" media="screen" charset="utf-8">
<script type="text/javascript" charset="utf-8">
pathId = "AWS.S3";
relpath = '../';
</script></head></html>
Здесь frame.content()
дает больший блок инициатора. В любом случае, я могу просто получить элемент, откуда возник запрос? В этом случае:
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8">