Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >木偶师等待页面。$(‘.className’),但我只得到了第11个元素与该类,为什么?

木偶师等待页面。$(‘.className’),但我只得到了第11个元素与该类,为什么?
EN

Stack Overflow用户
提问于 2020-04-12 11:13:39
回答 1查看 1.8K关注 0票数 1

我用来刮学生名单的代码:

代码语言:javascript
运行
AI代码解释
复制
let collection1 = await page.$$('div.layout-2DM8Md')
  console.log("Student Online:")
  for (let el of collection1) {
    let name = await el.$eval(('div.name-uJV0GL'), node => node.innerText.trim());
    console.log(name)
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-12 11:24:17

这可能是因为其他元素的内容是用一个Javascript框架(如React或Vue )动态加载的。这意味着只有当这些元素进入浏览器的视口时才会加载。

要解决这个问题,您需要编写一个自动滚动页面的函数,以便这些元素能够进入视区,然后在收集数据之前等待该函数完成。

滚动功能:

代码语言:javascript
运行
AI代码解释
复制
const autoScroll = async(page) => {
    await page.evaluate(async () => {
        await new Promise((resolve, reject) => {
            var totalHeight = 0;
            var distance = 100;
            var timer = setInterval(() => {
                var scrollHeight = document.body.scrollHeight;
                window.scrollBy(0, distance);
                totalHeight += distance;

                if(totalHeight >= scrollHeight){
                    clearInterval(timer);
                    resolve();
                }
            }, 30);
        });
    });
}

然后调用这个函数,在 page.goto()之后调用,在之前调用,然后使用page.content()获取内容。我还设置了视口宽度和高度,然后滚动速度会更快一些:

代码语言:javascript
运行
AI代码解释
复制
await page.goto(url, {waitUntil: 'load'});
await page.setViewport({
    width: 1200,
    height: 800
});
await autoScroll(page); // The scroll function
const html = await page.content()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61176809

复制
相关文章
1229|如何将SAP NetWeaver Gateway连接到SAP Business Suite?
如何将SAP NetWeaver Gateway连接到SAP Business Suite?
不会写代码的杰尼
2022/05/19
4030
1229|如何将SAP NetWeaver Gateway连接到SAP Business Suite?
CIO们必读:我与SAP Business One的十年众生态
此文写的非常好,由从事SAP B1十年销售工作的内部人分享,这一路来的风雨兼程,值得每一位从事管理软件的同行拜读一下。这是自己作为一名SAP Business One从业者十年的总结,也是一篇试图关注SAP business one在整个中国中小企业ERP市场生态状况的粗浅看法。我看不很远,看的也不一定很对,因为我依然身在此中。但还是想做个思考和总结,对往者,对在者,对来者做个参考!所以本文不针对任何ERP产品,只是作为一个从事SAP Business One 10年历程的回顾与总结。 SAP Busine
人称T客
2018/03/19
1.4K0
Adobe LiveCycle Designer for SAP Business ByDesign
2.到系统的下载中心并且打开“安装所有系统的附加软件”,路径是“应用和用户管理”->“业务灵活性”->“下载中心“->“安装所有系统的附加软件”
斯文的程序
2019/11/07
1.4K0
Adobe LiveCycle Designer for SAP Business ByDesign
[蓝帽杯 2021]One Pointer PHP | BUU
虽然这个比赛只有一个Web题但是质量确实挺高的,值得用一篇文章来记录一下 这道题主要核心内容就是打PHP-FPM服务的原理和方法
h0cksr
2023/05/17
6340
[蓝帽杯 2021]One Pointer PHP | BUU
如何使用Onedrive For Business
以教育版为例,商业版大同小异 以win10系统环境为例,其他系统大同小异,部分功能有阉割。 -1st- 注册 网址是:https://www.microsoft.com/en-us/education
Sidchen
2020/08/02
8K0
配置Oracle Gateway 12连接到SQL server 2014
最近的工作中需要基于Oracle连接到SQLserver2014,我们可以通过配置Gateway的方式来实现这个功能。这个Gateway的实质是透过dblink来实现的。即把SQLserver模拟成一个远端的Oracle实例,这个实例由Gateway来负责进行接收,转发等等。本文简要描述其配置过程。
Leshami
2018/08/13
3K0
配置Oracle Gateway 12连接到SQL server 2014
点击加载更多

相似问题

SAP Business one

42

将SAP Business One连接到SQL Server 2005时,

41

SAP Business One将交货表链接到OBTN表

127

SAP business one和HANA studio

11

Drupal Commerce和SAP Business One

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文