minor changes
							parent
							
								
									e8eff97e8c
								
							
						
					
					
						commit
						efd4451fc2
					
				| 
						 | 
					@ -59,7 +59,7 @@ const utils = require("./utils");
 | 
				
			||||||
    utils.getBrowserConfig(chromeProfilePath, environment)
 | 
					    utils.getBrowserConfig(chromeProfilePath, environment)
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
  const page = await browser.newPage();
 | 
					  const page = await browser.newPage();
 | 
				
			||||||
 // await loadPageCookies(page);
 | 
					  // await loadPageCookies(page);
 | 
				
			||||||
  await page.setViewport({
 | 
					  await page.setViewport({
 | 
				
			||||||
    width: 1600,
 | 
					    width: 1600,
 | 
				
			||||||
    height: 900,
 | 
					    height: 900,
 | 
				
			||||||
| 
						 | 
					@ -204,8 +204,8 @@ const utils = require("./utils");
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  const downloadAndUploadShippingLabels = async (page) => {
 | 
					  const downloadAndUploadShippingLabels = async (page) => {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      if ( page.isClosed() ) {
 | 
					      if (page.isClosed()) {
 | 
				
			||||||
        console.log("Page Closed !!")
 | 
					        console.log("Page Closed !!");
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      let bIndex = 0;
 | 
					      let bIndex = 0;
 | 
				
			||||||
      // PO Selector
 | 
					      // PO Selector
 | 
				
			||||||
| 
						 | 
					@ -341,67 +341,63 @@ const utils = require("./utils");
 | 
				
			||||||
    console.log(`Total Pages count : ${total_pages}`);
 | 
					    console.log(`Total Pages count : ${total_pages}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (true) {
 | 
					    while (true) {
 | 
				
			||||||
      try {
 | 
					      // update state
 | 
				
			||||||
        // update state
 | 
					      // await updateState(currentPage, luxon.DateTime.now().toISO());
 | 
				
			||||||
        // await updateState(currentPage, luxon.DateTime.now().toISO());
 | 
					      console.log(`Crawling for page ${currentPage}`);
 | 
				
			||||||
        console.log(`Crawling for page ${currentPage}`);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        await new Promise((resolve) => setTimeout(resolve, 2_000));
 | 
					      await new Promise((resolve) => setTimeout(resolve, 2_000));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        await utils.tryTemuLogin(page, email, password, loginPage);
 | 
					      await utils.tryTemuLogin(page, email, password, loginPage);
 | 
				
			||||||
        await new Promise((resolve) => setTimeout(resolve, 4_000));
 | 
					      await new Promise((resolve) => setTimeout(resolve, 4_000));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // load cookies
 | 
					      // load cookies
 | 
				
			||||||
        await loadPageCookies(page);
 | 
					      await loadPageCookies(page);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // get labels from page
 | 
					      // get labels from page
 | 
				
			||||||
        await downloadAndUploadShippingLabels(page);
 | 
					      await downloadAndUploadShippingLabels(page);
 | 
				
			||||||
      //  await new Promise((resolve) => setTimeout(resolve, 20_000));
 | 
					      //  await new Promise((resolve) => setTimeout(resolve, 20_000));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // increment page
 | 
					      // increment page
 | 
				
			||||||
        ++currentPage;
 | 
					      ++currentPage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Evaluate the presence of both classes in the <li> element
 | 
					      // Evaluate the presence of both classes in the <li> element
 | 
				
			||||||
        const hasNextBtn = await page.evaluate(() => {
 | 
					      const hasNextBtn = await page.evaluate(() => {
 | 
				
			||||||
          const liElement = document.querySelector(
 | 
					        const liElement = document.querySelector(
 | 
				
			||||||
            "li.PGT_next_123.PGT_disabled_123"
 | 
					          "li.PGT_next_123.PGT_disabled_123"
 | 
				
			||||||
          );
 | 
					        );
 | 
				
			||||||
          return liElement == null;
 | 
					        return liElement == null;
 | 
				
			||||||
        });
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // break if doesn't have next button
 | 
					      // break if doesn't have next button
 | 
				
			||||||
        if (!hasNextBtn) {
 | 
					      if (!hasNextBtn) {
 | 
				
			||||||
          console.log("No next button");
 | 
					        console.log("No next button");
 | 
				
			||||||
          break;
 | 
					        break;
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (currentPage > maxPage || currentPage > total_pages) {
 | 
					 | 
				
			||||||
          console.log("Last Page Reached");
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // goto next page
 | 
					 | 
				
			||||||
        if (hasNextBtn) {
 | 
					 | 
				
			||||||
          await page.evaluate(() => {
 | 
					 | 
				
			||||||
            const liElement = document.querySelector("li.PGT_next_123");
 | 
					 | 
				
			||||||
            if (liElement) {
 | 
					 | 
				
			||||||
              liElement.click();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // wait
 | 
					 | 
				
			||||||
        await new Promise((r) => setTimeout(r, 5000));
 | 
					 | 
				
			||||||
      } catch (e) {
 | 
					 | 
				
			||||||
        console.log(e);
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (currentPage > maxPage || currentPage > total_pages) {
 | 
				
			||||||
 | 
					        console.log("Last Page Reached");
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // goto next page
 | 
				
			||||||
 | 
					      if (hasNextBtn) {
 | 
				
			||||||
 | 
					        await page.evaluate(() => {
 | 
				
			||||||
 | 
					          const liElement = document.querySelector("li.PGT_next_123");
 | 
				
			||||||
 | 
					          if (liElement) {
 | 
				
			||||||
 | 
					            liElement.click();
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // wait
 | 
				
			||||||
 | 
					      await new Promise((r) => setTimeout(r, 5000));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  } catch (e) {
 | 
					  } catch (e) {
 | 
				
			||||||
    console.log(e);
 | 
					    console.log(e);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // update state
 | 
					  // update state
 | 
				
			||||||
  await updateState(1, luxon.DateTime.now().toISO());
 | 
					  //  await updateState(1, luxon.DateTime.now().toISO());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  console.log(
 | 
					  console.log(
 | 
				
			||||||
    `==========< ENDED --- DOWNLOAD SHIPPING LABELS  ${luxon.DateTime.now()}  >==========`
 | 
					    `==========< ENDED --- DOWNLOAD SHIPPING LABELS  ${luxon.DateTime.now()}  >==========`
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue