45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
import BID_TYPE from "../system/bid-type.js";
|
|
import CONSTANTS from "../system/constants.js";
|
|
import { takeSnapshot } from "../system/utils.js";
|
|
import _ from "lodash";
|
|
|
|
export class Bid {
|
|
type;
|
|
puppeteer_connect;
|
|
url;
|
|
action;
|
|
page_context;
|
|
|
|
constructor(type, url, puppeteer_connect) {
|
|
this.type = type;
|
|
this.url = url;
|
|
this.puppeteer_connect = puppeteer_connect;
|
|
}
|
|
|
|
handleTakeWorkSnapshot = _.debounce(async () => {
|
|
if (!this.page_context) return;
|
|
|
|
try {
|
|
// await this.page_context.waitForSelector('#pageContainer', { timeout: 10000 });
|
|
console.log(
|
|
`✅ Page fully loaded. Taking snapshot for ${
|
|
this.type === BID_TYPE.PRODUCT_TAB ? "Product ID" : "Tracking ID"
|
|
}: ${this.id}`
|
|
);
|
|
takeSnapshot(
|
|
this.page_context,
|
|
this,
|
|
"working",
|
|
CONSTANTS.TYPE_IMAGE.WORK
|
|
);
|
|
} catch (error) {
|
|
console.error(
|
|
`❌ Error taking snapshot for Product ID: ${this.id}:`,
|
|
error.message
|
|
);
|
|
}
|
|
}, 1000);
|
|
|
|
async isLogin() {}
|
|
}
|