const requestPromise = require("request-promise");
await page.setRequestInterception(true);
log(`Waiting for navigation and clicking button...`);
Promise.all([
page.waitForNavigation({
waitUntil: "networkidle2",
timeout: 60000
}),
page.click("input[type=submit]"),
]);
log(`Button "View Document" was clicked`);
log("Making interception...");
const xRequest = await new Promise((resolve) => {
page.on("request", (request) => {
if (
request.url().includes("/doc1") ||
request.url().includes("file=")
) {
request.abort();
resolve(request); // getting this request
} else {
request.continue();
}
});
});
const options = {
encoding: null,
method: xRequest._method,
uri: xRequest._url,
body: xRequest._postData,
headers: xRequest._headers,
};
const cookies = await page.cookies();
options.headers.Cookie = cookies
.map((ck) => ck.name + "=" + ck.value)
.join(";");
const resp = await requestPromise(options);
log("Intercepted request was made");
log("Saving PDF-file..");
await store.setValue("PDF-file", resp, {
contentType: "application/pdf",
});
log("PDF-file was saved!");
const requestPromise = require("request-promise");
await page.setRequestInterception(true);
log(`Waiting for navigation and clicking button...`);
Promise.all([
page.waitForNavigation({
waitUntil: "networkidle2",
timeout: 60000
}),
page.click("input[type=submit]"),
]);
log(`Button "View Document" was clicked`);
log("Making interception...");
const xRequest = await new Promise((resolve) => {
page.on("request", (request) => {
if (
request.url().includes("/doc1") ||
request.url().includes("file=")
) {
request.abort();
resolve(request); // getting this request
} else {
request.continue();
}
});
});
const options = {
encoding: null,
method: xRequest._method,
uri: xRequest._url,
body: xRequest._postData,
headers: xRequest._headers,
};
const cookies = await page.cookies();
options.headers.Cookie = cookies
.map((ck) => ck.name + "=" + ck.value)
.join(";");
const resp = await requestPromise(options);
log("Intercepted request was made");
log("Saving PDF-file..");
await store.setValue("PDF-file", resp, {
contentType: "application/pdf",
});
log("PDF-file was saved!");