diff --git a/sync-shipping-rates.js b/sync-shipping-rates.js index 15d577f..cf3c7d3 100644 --- a/sync-shipping-rates.js +++ b/sync-shipping-rates.js @@ -237,29 +237,31 @@ const emailUtils = require("./email-utils"); * Select shipping date */ const selectShippingDate = async (page) => { - // wait for 5 seconds - await new Promise((resolve) => setTimeout(resolve, 5 * 1000)); - // select shipping date - const shippingDateSelector = - 'div[id="packageList[0].trackingInfoList[0].shipDate"] input:first-of-type'; - await page.waitForSelector(shippingDateSelector); - await page.click(shippingDateSelector); + try { + console.log("Selecting Dates") + // select shipping date + const shippingDateSelector = + 'div[id="packageList[0].trackingInfoList[0].shipDate"] input:first-of-type'; + await page.waitForSelector(shippingDateSelector); + await page.click(shippingDateSelector); - // wait for 5 seconds - await new Promise((resolve) => setTimeout(resolve, 5 * 1000)); + // wait for 5 seconds + await new Promise((resolve) => setTimeout(resolve, 2 * 1000)); - // select shipping date - const shippingDateOptionSelector = - "body > div.PT_outerWrapper_123.PP_outerWrapper_123.ST_dropdown_123.ST_largeDropdown_123.PT_dropdown_123.PT_portalBottomLeft_123.PT_inCustom_123.PP_dropdown_123 > div > div > div > div > div > div:nth-child(1) > ul > li.cIL_item_123.cIL_large_123.cIL_highlight_123.ST_itemRendererLabel_123"; - await page.waitForSelector(shippingDateOptionSelector); - await page.click(shippingDateOptionSelector); + // select shipping date + const shippingDateOptionSelector = + "body > div.PT_outerWrapper_123.PP_outerWrapper_123.ST_dropdown_123.ST_largeDropdown_123.PT_dropdown_123.PT_portalBottomLeft_123.PT_inCustom_123.PP_dropdown_123 > div > div > div > div > div > div:nth-child(1) > ul > li.cIL_item_123.cIL_large_123.cIL_highlight_123.ST_itemRendererLabel_123"; + await page.waitForSelector(shippingDateOptionSelector); + await page.click(shippingDateOptionSelector); + } catch (e) { + console.log(e); + } }; /** * Capture response */ const checkShippingRates = async (page, timer) => { - await selectShippingDate(page); return new Promise((resolve, reject) => { // Timeout mechanism to resolve with an empty list after 5 seconds const timeout = setTimeout(() => { @@ -590,10 +592,12 @@ const emailUtils = require("./email-utils"); continue; } - const responsePromise = checkShippingRates(page, 10_000); + // button exist await buyShippingBtn.click(); console.log("Clicking on Buy Shipping Button"); + await selectShippingDate(page); + const responsePromise = checkShippingRates(page, 10_000); let orderShippingRates = await responsePromise; @@ -628,7 +632,8 @@ const emailUtils = require("./email-utils"); rates = []; } } catch (e) { - emailUtils.notify(`Sync Temu Orders Shipping Rates`, e.message); + console.log(e); + //emailUtils.notify(`Sync Temu Orders Shipping Rates`, e.message); } }