滚动到 puppeteer 中 div 的底部不起作用

2024-01-29

所以我试图抓取下图中方框内的所有音乐会:

https://i.stack.imgur.com/7QIMM.jpg https://i.stack.imgur.com/7QIMM.jpg

问题是列表仅显示前 10 个选项,直到您在该特定 div 中向下滚动到底部为止,然后它会动态显示更多选项,直到没有更多结果。我尝试按照下面的链接回答,但无法让它向下滚动以显示所有“音乐会”:

如何使用 Puppeteer 在 div 内滚动? https://stackoverflow.com/questions/52030394/how-to-scroll-inside-a-div-with-puppeteer

这是我的基本代码:

const browser = await puppeteerExtra.launch({ args: [                
    '--no-sandbox'                                                  
    ]});

async function functionName() {
    const page = await browser.newPage();
    await preparePageForTests(page);
    page.once('load', () => console.log('Page loaded!'));
    await page.goto(`https://www.google.com/search?q=concerts+near+poughkeepsie&client=safari&rls=en&uact=5&ibp=htl;events&rciv=evn&sa=X&fpstate=tldetail`);   

    const resultList = await page.waitForSelector(".odIJnf"); 
    const scrollableSection = await page.waitForSelector("#Q5Vznb");    //I think this is the div that contains all the concert items.
    const results = await page.$$(".odIJnf");  //this needs to be iterable to be used in the for loop

//this is where I'd like to scroll down the div all the way to the bottom

    for (let i = 0; i < results.length; i++) {
      const result = await (await results[i].getProperty('innerText')).jsonValue();
      console.log(result)
    }
}

尝试用此方法向下滚动音乐会列表。您可以继续循环,直到结果数量停止增加,或者找到您正在寻找的音乐会:

await page.evaluate(()=>{
  document.querySelector("#Q5Vznb").scrollIntoView(false);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

滚动到 puppeteer 中 div 的底部不起作用 的相关文章

  • mocha.opts 已弃用,如何迁移到 package.json?

    我正在开发一个大型项目 自从上周我更新了摩卡以来 现在我们收到警告 DeprecationWarning 通过 mocha opts 进行的配置已被弃用并且 将从 Mocha 的未来版本中删除 使用 RC 文件或 改为 package js
  • 有没有办法将 Google 文档分割成多个 PDF?

    我想在 Google Scripts VBA 代码中复制我为 Word 文档编写的代码 基本上 它通过搜索我插入文档中的标签 将文档 切片 为多个 PDF 文件 目的是允许合唱团使用 forScore 管理乐谱的应用程序 在切片点插入先前注
  • npm WARN 已弃用 [email protected]:改用 uuid 模块

    当我尝试时 npm install g cordova latest总是得到npm 警告已弃用 电子邮件受保护 cdn cgi l email protection 使用 uuid 模块代替 mac 操作系统塞拉利昂 10 12npm v
  • Cordova SQLite 保存 BLOB

    我的 Cordova SQLite 插件有问题 如何将 BLOB 图像保存到 SQLite 我在 JS 中有 BLOB 对象 Blob size 96874 type image jpeg proto Blob length 1 我试图拯救
  • jQuery数据表设置列设计和成功回调中的值

    我为我的数据表编写了以下代码 它用我的数据库中的内容填充表 如下所示 if datatable null datatable destroy datatable tableProducts DataTable pageLength 50 b
  • 如何针对 IE 进行优化?

    我有一个 JS 密集型应用程序 它在 IE 中运行缓慢 我将花费大约一周的时间来优化 IE 并且我想要一些关于尝试的方向 我发现这个线程引用Drip https ieleak svn sourceforge net svnroot iele
  • 使用 pyppeteer 与 asyncio 关联来抓取内容

    我用 python 结合编写了一个脚本pyppeteer随着asyncio从其登陆页面抓取不同帖子的链接 并最终通过跟踪通向其内页的 url 来获取每个帖子的标题 我这里解析的内容不是动态的 但是 我利用了pyppeteer and asy
  • Express JS:请求的资源上不存在“Access-Control-Allow-Origin”标头

    我有一个在服务器上运行的 API 和一个连接到它以检索数据的前端客户端 我对跨域问题做了一些研究并使其发挥作用 但我不确定发生了什么变化 我现在在控制台中收到此错误 XMLHttpRequest 无法加载https api mydomain
  • 如何检查侧边栏视图是否已经在主干中渲染?

    通常 用户通过主页进入网站 然后我在那里渲染侧边栏视图 接下来 用户单击链接 路由器呈现另一个视图并替换原始内容视图 侧边栏视图不会重新渲染 当用户在子页面上单击刷新时 侧边栏不会呈现 如何检查视图是否存在并且已渲染 划分责任并坚持下去 不
  • Lightbox:如何翻译“Image x of x”文本?

    我使用 Lightbox 2 作为图像集 当我的网站的访问者单击该集中的缩略图时 它将显示 图像的放大版本 下面是 描述 取自 a 标题属性 其下方 文本 Image x of x 例如 Image 1 of 12 有谁知道在哪里翻译 更改
  • Firefox 上的 jquery 焦点未设置

    我想将焦点设置到我的文本区域 以下是我的代码 this textInput val show focus 但它不起作用 实际上 当我按下鼠标按钮时 它会出现 但是当我松开鼠标时 它会从文本区域中删除 因此 经过大量搜索后 我发现 setTi
  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • jQuery 模板插件:如何创建双向绑定?

    我开始使用 jQuery 模板插件 微软创建的 但现在我面临这个问题 模板用于绑定到对象数组的一堆表单 当我更改其中一个表单上的某些内容时 我希望更新绑定的对象 但我不知道如何自动执行该操作 这是一个简单的例子 现实生活中的模板和对象要复杂
  • 如何使用 Node.js 解析 JSON? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我应该如何使用 Node js 解析 JSON 是否有一些模块可以安全地验证和解析 JSON 你可以简单地使用JSON parse h
  • Jquery Ajax 调用返回 403 状态

    我有一个 jquery Ajax 调用来实现会话的 keepalive 这个 keepAlive 方法将每 20 分钟调用一次 function keepAlive ajax type POST url KeepAliveDummy asp
  • Kendo 刷新 (DropDownList.refresh()) 不起作用错误未定义

    我试图在另一个 DropDownList 更改后刷新下拉列表 但 Refresh 方法未定义错误正在升级 我尝试再次读取数据源 它显示它正在加载 但数据仍然相同 帮助解决这个问题请 Code DropDownList1 change fun
  • 为什么我从 c# 到 js 得到不同的 MD5 哈希值?

    我有一个用于加密密码的 C 函数 System Security Cryptography MD5CryptoServiceProvider md5Provider new System Security Cryptography MD5C
  • 除非打开开发人员工具,否则 IE8 Javascript 无法运行?

    由于某种原因 在 IE8 中 除非我在打开开发工具的情况下重新加载页面 否则 javascript 不会运行 我关闭开发人员工具并重新加载页面 然后 javascript 停止工作 我没有收到任何错误报告 无论如何它们也没有任何用处 还有其
  • javascript 闭包和对象引用

    我的情况有点晦涩难懂 主要是因为我认为我已经掌握了闭包 所以基本上我想要的是将集合重置为默认值 假设我有一个集合 它具有带有对象参数数组的构造函数 var c new collection x y z 然后集合定期更新 因为我没有保留数组的
  • 为什么 phantomjs 不能在 MacOS Sierra 中工作?

    我们正在使用phantomjs 1 9 1 macosx phantomjs 2 0 0 macosx哪一个工作得很好OS X 埃尔卡皮坦更新后macOS 塞拉利昂它会引发以下错误 phantomjs 1 9 1 macosx phanto

随机推荐

  • Spring Security 3.1 和正确的 Jar

    我正在使用 Spring 3 1 并且是第一次使用 LDAP 这是我的 security xml
  • keras 学习的 LSTM 网络中的前向传递

    我有以下代码 希望能够从 2 层 LSTM 获得前向传递 this is a simple numerical example of LSTM forward pass to allow deep understanding the LST
  • 为什么 Haskell 在解决“重载”运算符方面遇到了麻烦?

    这个帖子 https stackoverflow com questions 18372060 overload built in function in haskell rq 1提出以下情况的问题 接受的答案告诉我们您实际上正在做的是创建
  • Knockoutjs 在 Internet Explorer 中运行速度极慢

    In brief I ve got a page with KO code that operates absolutely cool in Google Chrome Firefox Safari etc But the performa
  • Spring boot WAR 部署到 Tomcat 并缺少静态资源的上下文

    我在将 Spring Boot 应用程序作为 WAR 文件部署到独立的 Tomcat 7 服务器时遇到问题 它构建和部署得很好 但是当 index html 页面尝试加载其他静态资源时 它们缺少 url 中的上下文 因此无法加载 404 e
  • VS Code:“不允许使用属性调试选项”

    我正在尝试学习 Python 并设置 VS Code 的 Python 调试器 如本视频所述 https www lynda com Python tutorials Choosing editor IDE 661773 707220 4
  • 取消令牌和线程不起作用

    我想取消一个线程并在之后运行另一个线程 这是我的代码 private void ResetMedia object sender RoutedEventArgs e cancelWaveForm Cancel cancel the runn
  • Laravel:npm run watch 错误

    我正在开发一个项目并运行 npm run watch 我得到了这个错误 我本来工作正常 但突然出现这个错误 gt watch C projects tests blog gt node node modules cross env dist
  • Mac OS X 中是否有等效的 PTHREAD_MUTEX_ROBUST ?

    我正在使用一个pthread mutex t with PTHREAD PROCESS SHARED在共享内存上进行不同进程之间的同步 如果进程退出但互斥锁保持锁定状态 则互斥锁可能会死锁 有一个PTHREAD MUTEX ROBUST在
  • 有没有办法转发声明协方差?

    假设我有这些抽象类Foo and Bar class Foo class Bar class Foo public virtual Bar bar 0 class Bar public virtual Foo foo 0 进一步假设我有派生
  • 如何停止Python线程中的for循环?

    我正在尝试用 Python 创建一个脚本来学习线程 但我似乎无法停止线程中的 for 循环 目前 我正在使用 pyInstaller 编译脚本并结束线程进程 我知道这不是最好的方法 有人可以向我解释如何根据命令结束线程吗 我读过许多其他问题
  • AJAX 重写后如何重新绑定对话框?

    我有一个学生表 每一行都是他们的名字 一个选择列表来选择他们的课程出勤率 然后单击 消息 链接时会弹出一个对话框 向学生发送消息 该表由选定的课程列表动态驱动 例如 教师选择一门课程 然后表中会重新填充该课程中的所有学生 这是通过 AJAX
  • mongodb:限制对特定集合的读/写访问

    即使用户拥有数据库的读 写访问权限 是否有任何方法可以限制数据库中特定集合的读 写访问权限 例如 我有一个名为 PRODCAST 的数据库 它包含 collA collB collC 和 collD 假设我们有 10 个用户 他们都可以访问
  • JSF:如果省略 GET 参数,则抛出 404 错误

    如果将无效的 GET 参数传递到页面 我需要抛出 404 错误 我已将其附加到验证器 如上所述here https stackoverflow com a 4902757 1973599 但如果根本没有参数 则验证器不会被调用 我该如何处理
  • 无法在 Docker 容器中使用 TypeScript 启动 React

    我试图npm run start一个使用以下命令创建的 React 应用程序 template typescript 因此 Typescript 已安装 作为 React 依赖项 但我的 Docker 容器抱怨一条通用错误消息 TypeSc
  • Nunit 使用的 XML 文件的 XSD

    在哪里可以找到 Nunit 使用的 XML 文件的 XSD 对于结果文件 看结果 xsd http www nunit org docs 2 2 files Results xsd 请注意 它在 Chrome 中对我来说无法正确显示 您可能
  • 是否有 .Net StyleCop 规则警告有关 lock(this)、lock(typeof、lock( 等) 的问题?

    这三种类型的锁显然都是不好的 还有哪些其他类型的锁定是不好的 有 Stylecop FxCop 规则可以解决这个问题吗 如果没有 那么您能帮我实现自定义规则吗 他们的代码一定是相似的 对吧 谢谢 The samples http dtt w
  • 使用 Hibernate 保存点

    问题是我在临时基础上使用休眠中的保存或更新 现在 当我最终触发更新时 它会将其永久存储在数据库中 否则回滚它 如何使用 hibernate 基础创建保存点是 spring like HibernateTemplate hibernateTe
  • Python 在输出中添加额外的换行符

    输入文件 a txt aaaaaaaaaaaa bbbbbbbbbbb cccccccccccc 蟒蛇代码 with open a txt as f for line in f print line 问题 aaaaaaaaaaaa bbbb
  • 滚动到 puppeteer 中 div 的底部不起作用

    所以我试图抓取下图中方框内的所有音乐会 https i stack imgur com 7QIMM jpg https i stack imgur com 7QIMM jpg 问题是列表仅显示前 10 个选项 直到您在该特定 div 中向下