filter ship orders by shipping date desc
parent
68e825b1e1
commit
7a2b5e184c
|
@ -133,41 +133,56 @@ const emailUtils = require("./email-utils");
|
||||||
`processed/`
|
`processed/`
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Capture response
|
* Capture response
|
||||||
*/
|
*/
|
||||||
const checkShippingLabelResponse = async (page, timer) => {
|
const checkShippingLabelResponse = async (page, timer) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
// Timeout mechanism to resolve with an empty list after 5 seconds
|
// Timeout mechanism to resolve with an empty list after 5 seconds
|
||||||
const timeout = setTimeout(() => {
|
const timeout = setTimeout(() => {
|
||||||
page.off("response", handleResponse); // Remove listener on timeout
|
page.off("response", handleResponse); // Remove listener on timeout
|
||||||
resolve([]); // Resolve with an empty list
|
resolve([]); // Resolve with an empty list
|
||||||
}, timer);
|
}, timer);
|
||||||
|
|
||||||
const handleResponse = async (res) => {
|
const handleResponse = async (res) => {
|
||||||
try {
|
try {
|
||||||
const req = res.request();
|
const req = res.request();
|
||||||
if (req.url().includes("/batch_print_shipping_label")) {
|
if (req.url().includes("/batch_print_shipping_label")) {
|
||||||
const resJson = await res.json();
|
const resJson = await res.json();
|
||||||
// Remove listener and clear timeout once response is captured
|
// Remove listener and clear timeout once response is captured
|
||||||
clearTimeout(timeout);
|
clearTimeout(timeout);
|
||||||
page.off("response", handleResponse);
|
page.off("response", handleResponse);
|
||||||
resolve(resJson || []);
|
resolve(resJson || []);
|
||||||
}
|
}
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
// Remove listener and clear timeout on error
|
// Remove listener and clear timeout on error
|
||||||
clearTimeout(timeout);
|
clearTimeout(timeout);
|
||||||
page.off("response", handleResponse);
|
page.off("response", handleResponse);
|
||||||
reject(ex);
|
reject(ex);
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
page.on("response", handleResponse);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
page.on("response", handleResponse);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 2_000));
|
await new Promise((resolve) => setTimeout(resolve, 2_000));
|
||||||
|
// filter by ship date desc
|
||||||
|
const shipByDateFilterSelector =
|
||||||
|
"#orders-tab-list > div.y0DVv7GO > div > div._2iyGKl7j > div._3oBKKUKo > div._3eA-bRh2 > div.ST_outerWrapper_123.ST_medium_123";
|
||||||
|
await page.waitForSelector(shipByDateFilterSelector);
|
||||||
|
await page.click(shipByDateFilterSelector);
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, 2_000));
|
||||||
|
|
||||||
|
// set ship by date desc option
|
||||||
|
const orderByShipDescOptionSelector =
|
||||||
|
"body > div.PT_outerWrapper_123.PP_outerWrapper_123.ST_dropdown_123.ST_mediumDropdown_123.ST_customItem_123.PT_dropdown_123.PT_portalBottomLeft_123.PT_inCustom_123.PP_dropdown_123 > div > div > div > div > ul > li:nth-child(4)"
|
||||||
|
await page.waitForSelector(orderByShipDescOptionSelector);
|
||||||
|
await page.click(orderByShipDescOptionSelector);
|
||||||
|
console.log("Clicking on Order by Shipment Date Select");
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, 2_000));
|
||||||
|
|
||||||
// set the pagination to 100 / page
|
// set the pagination to 100 / page
|
||||||
const pageinationSeletor =
|
const pageinationSeletor =
|
||||||
"#orders-tab-list > div.y0DVv7GO > div > div._38NAUUfN > div._15QWqbZs > ul > li.PGT_sizeChanger_123 > div > div > div > div > div";
|
"#orders-tab-list > div.y0DVv7GO > div > div._38NAUUfN > div._15QWqbZs > ul > li.PGT_sizeChanger_123 > div > div > div > div > div";
|
||||||
|
@ -182,7 +197,6 @@ const emailUtils = require("./email-utils");
|
||||||
await page.waitForSelector(pagesPerPageSelector);
|
await page.waitForSelector(pagesPerPageSelector);
|
||||||
await page.click(pagesPerPageSelector);
|
await page.click(pagesPerPageSelector);
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1_000));
|
await new Promise((resolve) => setTimeout(resolve, 1_000));
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
emailUtils.notify(`Download Order Shipping Labels`, e.message);
|
emailUtils.notify(`Download Order Shipping Labels`, e.message);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue