Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const puppeteer = require('puppeteer');
- (async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- const url = 'https://www.chinabrands.com/category/clearance_cid1337.html?sid=72821714&odr=highdiscount'
- await page.goto(url);
- await page.screenshot({ path: 'example.png' });
- function extractItems() {
- const extractedSaleElements = Array.from(document.querySelectorAll('#pro-list > ul > li'))
- .map(product => {
- const { title, link, priceAfter, priceBefore, profit } = product;
- return {
- title: product.querySelector('.goods-title').innerText,
- link: product.querySelector('a[href]').href,
- priceAfter: +product.querySelector('span.my_shop_price').innerText.slice(2, Infinity),
- priceBefore: +product.querySelector('span.my_shop_price.market-price').innerText.slice(2, Infinity),
- profit: Math.round(
- (+product.querySelector('span.my_shop_price.market-price').innerText.slice(2, Infinity) - +product.querySelector('span.my_shop_price').innerText.slice(2, Infinity))
- / +product.querySelector('span.my_shop_price.market-price').innerText.slice(2, Infinity) * 100) + '%'
- }
- })
- .sort((x, y) => (Math.round(((x.priceAfter - x.priceBefore) / x.priceAfter) * 100)) ? 1 : -1)
- .filter(x => x.priceAfter > 10 && x.priceBefore > 70);
- const items = [];
- for (let element of extractedSaleElements) {
- items.push(element);
- }
- return items;
- }
- let items = await page.evaluate(extractItems);
- console.log(items);
- await page.goto(items[0].link);
- await page.screenshot({ path: 'step1.png' });
- function purchase() {
- const form = document.querySelector('a.addToCart.add-to-cart');
- form.click()
- }
- await page.evaluate(purchase);
- await page.waitFor(4000)
- // await page.evaluate(purchase);
- await page.screenshot({ path: 'step2.png' });
- function login() {
- const username = document.querySelector('input.custom-text');
- const password = document.querySelector('input#password').value = 'kyriakos133'
- username.value = 'karageo133@gmail.com'
- password.value = 'kyriakos133'
- }
- await page.evaluate(login);
- await page.waitFor(3000)
- await page.screenshot({ path: 'step3.png' });
- function clickLogin() {
- const form = document.querySelector('button#third-party-sign-btn');
- form.click()
- }
- await page.evaluate(clickLogin);
- await page.waitFor(3000)
- await page.screenshot({ path: 'step5.png' });
- await page.waitFor(5000)
- await page.goto(items[0].link);
- function pushTO() {
- const button= document.querySelector('a.addToCart.add-to-cart');
- button.click()
- }
- await page.evaluate(pushTO);
- await page.waitFor(10000)
- await page.screenshot({ path: 'step6.png' });
- await browser.close();
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement