```js // minh se co 2 loai object // 1 : Apibids // 2 : Producttab const { default: puppeteer } = require('puppeteer'); Apibids = { type: 'Apibid', puppeteer_connect: 'puppeteer_connect', url: 'https://www.grays.com/mygrays/auctions/biddingon.aspx', listentEvent: function () { //action() }, action: function () {}, }; // n Producttab Producttab = { type: 'Producttab', url: 'https://www.grays.com/mygrays/auctions/biddingon.aspx', puppeteer_connect: 'puppeteer_connect', max_price: '', model: 'model', action: function () {}, }; manage = { Apibids: { Apibids }, Producttabss: [{ Producttab }, { Producttab }], }; // 10 goi 1 lan recheck = function name() { //check thay 2 record //tabApibids Apibids = new Apibids(); Apibids.puppeteer_connect(); Apibids.listentEvent(); manage.Apibids = Apibids; //n Producttab }; ``` \*\* Tắt polling trước khi demo - Trong thời gian đang bid nên mỡ tab lên -> hiện tại không mỡ tab lên khi start lại - Handle đăng nhập lại nếu không thành công -> hiện đang không đăng nhập lại nếu vì lí do nào đó không đăng nhập được - Lịch sử bid đang có 2 lần trùng