【问题标题】:adding an item to cart with puppetteer on amazon在亚马逊上使用 puppetetteer 将商品添加到购物车
【发布时间】:2021-10-13 15:43:24
【问题描述】:

我开始编写这个应用程序以在亚马逊上进行剥头皮交易,只是为了试一试,我用 puppeteer 构建它,我需要将一个项目添加到购物车或只是购买它,但它在亚马逊上不起作用,我在沃尔玛网站上试了一下,很完美。

const puppeteer = require('puppeteer');

const product_url = "https://www.amazon.it/Gigabyte-GeForce-RTX-3060-GAMING/dp/B08WB6R2K4/ref=sr_1_3?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=rtx&qid=1628563186&sr=8-3";



async function givePage(){
    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();
    return page;
}

async function AddToCart(page){
    await page.goto(product_url);
    await page.waitForSelector("button[inputid='add-to-cart-button'")
    await page.click("button[inputid='add-to-cart-button']", elem => elem.click());
    
}

async function checkout(){
    var page = await givePage();
    await AddToCart(page);  
}


checkout();

【问题讨论】:

  • “它不起作用”是什么意思?你能提供更多信息,有错误吗?如果有,有哪些错误?
  • 它会打开 chrome 和所有东西,但它不会将商品添加到购物车,它会在 30 秒后自行关闭

标签: javascript puppeteer amazon


【解决方案1】:

我解决了使用 XPath 创建数组的问题:

await page.$x('//*[@id="submit.buy-now-announce"]');

然后告诉程序找到按钮(对我来说这是第一个你可以改变它)。

    const elements = await page.$x('//*[@id="submit.buy-now-announce"]');
    await elements[0].click() ;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2016-12-19
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多