JS Puppeteer 等待页面加载完成[重复]

2024-03-11

看到这个之后我受到启发,尝试了一下它。但我似乎错误地选择了一个网站作为启动项目。

const puppeteer = require('puppeteer')
;(async () => {
  const browser = await puppeteer.launch()
  const page = await browser.newPage()

  await page.goto('http://www.produktresume.dk/AppBuilder/search?page=0')
  page.once('load', () => {
    const drugs = page
      .evaluate(() =>
        [...document.querySelectorAll('div.entity-link')].map(item => item)
      )
      .catch(err => console.log(err))
    console.log(drugs[0])
  })

  await browser.close()
})()

我用谷歌搜索了一下,却忘记了我尝试过的不同事情。

我对问题的看法是,我没有在正确的时间(加载页面时)调用评估。


完全没有必要使用page.on('load')查找页面是否已加载。

您可以使用,

  • waitUntil选项开启.goto call.
  • waitForSelector特定选择器的函数。

Usage,

await page.goto('http://www.produktresume.dk/AppBuilder/search?page=0', {waitUntil: 'networkidle0'});
await page.waitForSelector("#wrapper"); // Found on the page source code, wait for this to appear
// the rest is just as usual
const drugs = await page
.evaluate(() =>
 [...document.querySelectorAll('div.entity-link')].map(item => item)
)
.catch(err => console.log(err))
console.log(drugs[0])

确保使用await为了.evaluate call.

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

JS Puppeteer 等待页面加载完成[重复] 的相关文章

  • Twisted 的 Deferred 和 JavaScript 中的 Promise 一样吗?

    我开始在一个需要异步编程的项目中使用 Twisted 并且文档非常好 所以我的问题是 Twisted 中的 Deferred 与 Javascript 中的 Promise 相同吗 如果不是 有什么区别 你的问题的答案是Yes and No
  • 限制文本区域中每行的字符数

    我整个周末都在寻找解决这个难题的方法 但尚未找到一个可以正常工作的解决方案 我想要实现的是限制文本区域中每行的字符数 不是相同地限制它们 而是我选择的每行不同的字符数 例如 我只想在我的文本区域中包含 4 行 第 1 2 和 3 行将限制为
  • 如何通过 HTML 按钮播放声音

    我目前通过网站播放音乐的方法是通过 HTML 音频标签 不过我希望能够通过 HTML 按钮来播放它 该按钮应该能够在播放和停止之间切换音乐 我在 JSFiddle 创建了一个示例 但不知道如何实现它 有人可以告诉我如何使用我的 JSFidd
  • 计算Javascript中两次点击之间的时间

    我想用 javascript 计算属性的两次点击之间的时间 但我不知道如何 例如 a href click here a 如果用户单击多次 假设 5 秒内 我想显示警报 如果有帮助的话我正在使用 jQuery 我对 javascript 不
  • 将一个文本框的内容复制到另一个文本框

    假设在文本框中输入了一个条目 是否可以在第二个文本框中保留相同的输入文本 如果是这样 这是如何完成的
  • 将 Sweet Alert 弹出窗口添加到 React 组件中的按钮

    我为 Bootstrap 和 React 找到了这个完美的 Sweet Alert 模块 我在 Meteor 应用程序中使用它 http djorg83 github io react bootstrap sweetalert http d
  • 禁用 JavaScript 中的右键单击

    当我尝试禁用右键单击时 它不起作用 我尝试使用下面的代码 document onclick function e console log e button if e button 2 e preventDefault return fals
  • 何时不使用承诺[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在阅读了数十篇关于 es6 Promise 有多伟大以及为什么我们应该实现它们的文章之后 我有这样的感觉 ALL我的 不平凡的 JavaScri
  • ElectronJS ReferenceError:导航器未定义

    我正在尝试在电子上制作自定义标题栏 但是当我启动我的应用程序时 我遇到了 ReferenceError 导航器未定义 问题 请帮忙 这是我的 main js 中的代码片段 My Codes https i stack imgur com c
  • 如何以非阻塞方式在 Node.js 中搜索数组?

    我有一个数组是 4ff023908ed2842c1265d9e4 4ff0d75c8ed2842c1266099b 我必须找出以下内容是否在该数组内 4ff0d75c8ed2842c1266099b 这是我写的 Array prototyp
  • 保存/导出Chrome的JavaScript控制台输入历史记录

    无论如何 我可以保存或导出 JavaScript 控制台的历史记录吗 input 控制台历史记录 在 Google Chrome 中 我不想保存输出或错误 因此将鼠标悬停在控制台框上 右键单击并选择Save as 不是解决方案 我不想每次都
  • 如何改变HTML5视频的播放速度?

    如何更改 HTML5 中的视频播放速度 我查过视频标签的属性 https www w3schools com html html5 video asp在 w3school 但无法做到这一点 根据这个网站 http www chipwreck
  • AJAX:检查字符串是否为 JSON?

    我的 JavaScript 有时会在这一行崩溃 var json eval this responseText 当争论时会导致崩溃eval 不是 JSON 在进行此调用之前有什么方法可以检查字符串是否为 JSON 我不想使用框架 有什么方法
  • 访问 TypeScript 数组的最后一个元素

    TypeScript 中有访问数组最后一个元素的符号吗 在 Ruby 中我可以说 array 1 有类似的东西吗 您可以通过索引访问数组元素 数组中最后一个元素的索引将是数组的长度 1 因为索引是从零开始的 这应该有效 var items
  • 如何从顺序键盘导航中删除 Vuetify 附加图标

    在带有 Vuetify 的 Vue js 应用程序中 我有一组用v text field并且其中有一个append icon为了切换文本可见性 如下所示
  • Flux + React.js - 操作中的回调是好还是坏?

    让我解释一下我最近遇到的问题 我有 React js Flux 驱动的应用程序 有一个列表显示文章数量 注意 应用程序中有多个不同的列表 和文章详情查看在里面 但每个列表只有一个 API 端点 它返回文章数组 为了显示我需要的详细信息fin
  • 如何将 Browserify 与外部依赖项一起使用?

    我正在尝试慢慢地将 Browserify 引入我的网站 但我不想重写所有 js 也不希望 jquery 和其他库的重复实例与我的 Browserify 版本捆绑在一起 如果我构建将 jquery 列为外部依赖项的模块 那么如何将其指向我的全
  • Jquery:选择菜单以显示和隐藏某些div元素

    我正在创建一个选择菜单 根据所选选项显示和隐藏某些 div 像这样的东西
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • 在 javascript 中使用 xPath 解析具有默认命名空间的 XML

    我需要创建一个 XML xPath 解析器 所有解析都必须在客户端进行 使用 JavaScript 我创建了一个 javascript 来执行此操作 在默认名称空间发挥作用之前 一切看起来都正常 我根本无法查询具有默认命名空间的 XML 我

随机推荐

  • Ocaml 模块实现

    Ocaml的标准库包含各种模块 List Map Nativeint等等 我知道提供了这些模块的接口 例如 列表模块 http caml inria fr pub docs manual ocaml libref List html 但我对
  • Php 与 NetBeans:在没有实际声明的情况下应用新的 PhpDoc

    有没有一种方法可以应用新的 PhpDoc 而无需重新声明方法 例如我有一个类 class GeneralContainer private children public function construct this gt childre
  • Swift 不会播放链接中的音频 - iOS

    我正在使用 Subsonic 因此 mp3 文件是通过网络服务提供给我的 当我使用具有 mp3 扩展名的文件进行测试时 此代码有效 当我将它与下面的链接一起使用时 它不会 var player AVPlayer override func
  • 我们如何验证推送的提交消息?

    来自 CVS 的政策是 提交消息应标有错误编号 简单后缀 9999 CVS 脚本在提交期间对此进行检查 如果消息不符合则拒绝提交 git hook commit msg 在开发人员方面执行此操作 但我们发现自动系统检查并提醒我们这一点很有帮
  • 如何在c#中打印文本框的行号

    这将是一篇很长的文章 如果对我正在遵循的程序有任何建议 我想提出建议 我想要最好的方法来打印 Richtextbox 中每个 CRLF 终止行旁边的行号 我正在使用 C 和 NET 我尝试过使用 ListView 但当行数增加时效率很低 我
  • 对非官方 Pandora API 进行 JSON 调用

    所以我在工作时听 Pandora 然后想 伙计 如果能获得 Pandora 的电台列表 或者以某种方式与其远程交互 那真是太酷了 所以我发现了这个非官方的 Pandora API 它只返回一堆 JSON 对象 看起来非常有用且简洁 这是 A
  • 带外发光的 Android 按钮

    我知道这个话题已经被讨论过 但我没有找到我真正想做的事情 我有这些按钮 底部的屏幕截图 现在我想添加外发光 除了将其保存为可绘制文件夹中的 png 之外 还有其他可能性吗 这样工作量就会少很多 问候 尼尔斯 试试这个代码 public Bi
  • 使用 VSCode 交互窗口时的默认 Python 路径

    假设Python包mypackage位于我的计算机上的非标准位置 并且我正在 VSCode 交互窗口中运行 Python 代码 如果我输入 import mypackage 它不会被发现 这可以通过执行以下操作来解决sys path app
  • 为什么 pyspark 失败并显示“无法找到 hive jars 以连接到元存储。请设置 Spark.sql.hive.metastore.jars。”?

    我正在使用带有两个节点的 apache Spark 版本 2 0 0 的独立集群 并且尚未安装 hive 在创建数据帧时出现以下错误 from pyspark import SparkContext from pyspark import
  • Flex:以编程方式在组合框中设置所选项目

    我需要一些帮助以编程方式设置组合框中的所选项目 我有一个像这样的组合框
  • 如何开发 JSF 应用程序?

    我第一次从事一个需要构建一个大量使用 JSF 尤其是 ICEfaces 的 Web 应用程序的项目 有多种需要编码的内容 包括 CSS HTML JSP Java 当然还有 JSF 顺便说一句 我在 Eclipse 中完成所有这些工作 并使
  • 如何在SVN中使用关键字(TortoiseSVN)

    我无法使用关键字替换工具制作只有少量数据的文档 如下所示 日期 修订 作者 HeadURL ID 我正在做测试 但无法实现关键字替换 我创建了一个包含以下信息的 Txt 文档 svn keywords Date Revision Autho
  • 在 String.Split 操作中指定空格的最佳方法

    我根据空格分割字符串 如下所示 string myStr The quick brown fox jumps over the lazy dog char whitespace new char t string ssizes myStr
  • 如何从另一个 PHP 类连接到 MongoDB?

    我有以下代码来连接到 MongoDB try m new Mongo mongodb MONGO servers i mongo host MONGO servers i mongo port catch MongoConnectionEx
  • 使用 Spring Boot 提供 React 应用程序时的 React-Router 问题

    我目前需要使用 Spring Boot 为我的 React 应用程序提供服务 它适用于根 url localhost 8080 但是 Spring 控制器当然不会识别任何子路由 我不知道如何让 React 路由和 Spring 请求映射对齐
  • 一个数组元素占用多少内存?

    我认为浏览器之间可能存在差异 但是我如何知道 Javascript 中一个数组或它的一个元素占用了多少内存呢 我想知道使用类型化数组时节省了多少空间 提前致谢 这取决于很多方面 用于存储变量的引用的长度可以有不同的大小 如果您不使用关联数组
  • 为什么 iPhone 4、5、6 横向时宽度和高度紧凑

    我是 iOS 开发新手 刚刚学习适应性和布局 我遇到了一点困惑 根据文档 https developer apple com library ios documentation UserExperience Conceptual Mobil
  • 如何将 Javascript 字符串转码为 ISO-8859-1?

    我正在编写一个 Chrome 扩展程序 可与使用 ISO 8859 1 的网站配合使用 只是为了提供一些背景信息 我的扩展所做的是通过添加更方便的帖子表单来更快地在网站论坛中发帖 然后通过 Ajax 调用 使用 jQuery 发送写入消息的
  • 我正在使用 TestRestTemplate 来测试 @RequestParam 值如何执行

    如何将 RequestParam值发送到url enter code here ApiRestController 公共类 CityController 扩展 BaseController GetMapping cities public
  • JS Puppeteer 等待页面加载完成[重复]

    这个问题在这里已经有答案了 看到这个之后我受到启发 尝试了一下它 但我似乎错误地选择了一个网站作为启动项目 const puppeteer require puppeteer async gt const browser await pup