我想知道我是否能告诉 puppeteer 师等待一个元素被显示出来.

const inputValidate = await page.$('input[value=validate]');
await inputValidate.click()
        
// I want to do something like that 
waitElemenentVisble('.btnNext ')

const btnNext = await page.$('.btnNext');
await btnNext.click();

我有没有办法做到这一点?

推荐答案

我认为你可以使用page.waitForSelector(selector[, options])函数来实现这个目的.

const puppeteer = require('puppeteer');

puppeteer.launch().then(async browser => {
  const page = await browser.newPage();
  page
    .waitForSelector('#myId')
    .then(() => console.log('got it'));
    browser.close();
});

要查看可用选项,请参阅 github link.

Node.js相关问答推荐

如何从puppeteer的page. evaluate()中获取流数据?(node.js)

Mongoose-不会更新数组中的属性值

根据我的测试,为什么在编写Varint代码方面,NodeJS要比Rust快这么多?

try 使用Express和连接池将数据插入MySQL数据库时出现拒绝访问错误

聚合操作不返回任何具有mongoose模式的内容

EJS ForEach循环标记

车把模板引擎循环问题

Nestjs重写子类dto nodejs中的属性

如何使用Next.js/Node/TS正确地上传至S3

在生产环境中,Nest实例启动时抛出不完整的导入错误

Typescript :泛型类又扩展了另一个泛型类

在 Node JS 中使用 url 链接而不是文件路径

Mocha调用所有it回调模拟(测试中间件)

当我try 从本地主机发布新产品时收到错误消息

获取用户 ID 后,Firebase 函数 onCreate 方法在 Firestore 上不起作用

使用Typescript 时我应该避免循环导入吗?

GridFS 大文件下载使 Node.js 服务器崩溃. MongoServerError:排序超出了字节的内存限制

使用 nvm-windows 时更新 npm

Mongoose - 保存字符串数组

处理快速异步中间件中的错误