如何使用Puppeteer(node.js)滚动div?

时间:2019-12-06 16:02:01

标签: javascript node.js scroll puppeteer

我使用Node.js和Puppeteer,并且需要滚动列表。将打开一个div,并弹出一个窗口。该div的特征是一个名为"istrq"的类。 我尝试使用此处找到的一些代码,但无法将完整列表添加到弹出窗口中。这是只滚动一点的独特代码段:

async function scrollDiv() {
  try {
     const scrollStep = 250
     await page.$eval(`div.istrq`,
       e => {
         e.scrollTop = e.scrollTop + 200;
         return e;
       }
     )
  } catch (error) { console.log(error); }
}

如何滚动到弹出窗口的结尾?

1 个答案:

答案 0 :(得分:0)

您可以使用nodeJS本机函数

scrollIntoView()

https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView

因此,如果要严格滚动到此元素(将ex对齐到顶部):

function scrollToElement(page, element) {
  await page.evaluate(elem => {
    elem.scrollIntoView(true)
}, element}