Javascript 木偶演员滚动并点击按钮

Javascript 木偶演员滚动并点击按钮,javascript,html,node.js,screenshot,puppeteer,Javascript,Html,Node.js,Screenshot,Puppeteer,我正在使用Puppeter尝试拍摄一个网站的屏幕截图,但首先我必须按下一个名为“Lifetime”的按钮,它的选择器是: #profile>div.trn-profile.dtr-profile>div>div.content>div:nth child(1)>div.material-card>a.btn.btn季度。已选择 我必须首先向下滚动并按下终身按钮,然后拍摄“独奏”、“双人”和“团队”统计数据的屏幕截图,如下所示: 我尝试在非无头模式,以确保它的工作,但它似乎不工作。我已将代码向下

我正在使用Puppeter尝试拍摄一个网站的屏幕截图,但首先我必须按下一个名为“Lifetime”的按钮,它的选择器是:

#profile>div.trn-profile.dtr-profile>div>div.content>div:nth child(1)>div.material-card>a.btn.btn季度。已选择

我必须首先向下滚动并按下终身按钮,然后拍摄“独奏”、“双人”和“团队”统计数据的屏幕截图,如下所示:

我尝试在非无头模式,以确保它的工作,但它似乎不工作。我已将代码向下滚动到元素,但没有使用页面单击它。单击(选择器)。到目前为止,我已经能够打开网页并向下滚动,但当我尝试使用page.click时,它不起作用。等我知道如何按下“终身”按钮后,我会担心屏幕截图

我的代码是:

var puppeteer = require('puppeteer');

let scrape = async () => {

const browser = await puppeteer.launch({
    headless: false
});

const page = await browser.newPage();

await page.goto('https://fortnitetracker.com/profile/pc/Twitch.BadGuyBen');
await page.tap('#profile > div.trn-profile.dtr-profile > div > div.content > div:nth-child(1) > div.material-card > a.btn.btn-season.selected');
await page.waitFor(2000);

await page.screenshot({
    path: 'stats.png',
    fullPage: true
})

browser.close();
};

scrape();
编辑:我将采取全屏截图的页面,然后使用jimp模块来裁剪它,所以主要是我必须找出如何按下按钮


编辑:我是个白痴我用错了选择器我的坏:)

我用错了选择器我应该用的是:

#profile > div.trn-profile.dtr-profile > div > div.content > div:nth-child(1) > div.material-card > a:nth-child(2)
所以我给人们的代码是:

var puppeteer = require('puppeteer');

let scrape = async () => {

const browser = await puppeteer.launch({
headless: false
});

const page = await browser.newPage();
var SELECTOR = "#profile > div.trn-profile.dtr-profile > div > div.content > div:nth-child(1) > div.material-card > a:nth-child(2)";

await page.goto('https://fortnitetracker.com/profile/pc/Twitch.BadGuyBen');
await page.focus(SELECTOR);
await page.waitFor(2000);
await page.click(SELECTOR);

await page.screenshot({
    path: 'stats.png',
    fullPage: true
})

browser.close();
};

scrape();

请简要说明这有何帮助。谢谢
await page.$eval('section[class="promocode__segment"]', 
   e => {e.scrollIntoView({ behavior: 'smooth', block: 'end', inline: 'end' })})