gpt4 book ai didi

javascript - 如何将鼠标指向页面的特定部分然后滚动? ( puppeteer 师)

转载 作者:行者123 更新时间:2023-12-03 07:20:13 27 4
gpt4 key购买 nike

我说的网址是https://www.vudu.com/content/movies/movieslist .我正在尝试滚动浏览电影所在的部分。当我使用以下代码时,它不起作用。

await page.evaluate( () => {
window.scrollBy(0, window.innerHeight);
});

我认为这是因为您必须先将鼠标悬停在电影上,然后该部分才能滚动。我怎么解决这个问题?谢谢!

我的完整代码:

const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.setViewport({ width: 1280, height: 800 });
url = "https://www.vudu.com/content/movies/movieslist"
await page.goto(url, {waitUntil: 'load'});
await page.evaluate( () => {
window.scrollBy(0, window.innerHeight);
});
await page.waitFor(2000);
})()

最佳答案

您可以使用 mouse.move()为此,但这似乎无法解决问题,因为文档正文不可滚动。您需要找到可滚动元素以仅滚动它:

'use strict';

const puppeteer = require('puppeteer');

(async function main() {
try {
const browser = await puppeteer.launch({ headless: false, defaultViewport: null });
const [page] = await browser.pages();

await page.goto('https://www.vudu.com/content/movies/movieslist');
await page.waitForSelector('.nr-pt-40');

const data = await page.evaluate(() => {
const container = document.querySelector('.nr-pt-40');
container.scrollBy(0, container.clientHeight);
});

// await browser.close();
} catch (err) {
console.error(err);
}
})();

关于javascript - 如何将鼠标指向页面的特定部分然后滚动? ( puppeteer 师),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62668039/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com