首页 > 解决方案 > 如何在 Puppeteer 中使用导出的字符串作为我的元素

问题描述

我似乎无法声明一个字符串 const 并将其用作 Puppeteer 的元素。例如:

await page.click("#playerView");

工作正常,但是:

const playerViewId = "#playerView";

await page.click(playerViewId);

没有。我最终想将我所有的页面元素保存在一个单独的文件中的一个对象中,以整理我的项目。

任何想法为什么这不起作用?

谢谢

标签: node.jspuppeteer

解决方案


我可以确认以下情况确实有效:

const playerViewId = '#playerView';
await page.click(playerViewId);

如果这不起作用,请考虑升级您的 Node.js 和/或 Puppeteer 版本。

如果您尝试在单独的文件中定义变量,您可以使用:

// external-file.js:
module.exports.playerViewId = '#playerView';

// main-file.js:
const external_variables = require('./external-file');
const playerViewId = external_variables.playerViewId;
await page.click(playerViewId);

playerView此外,您应该在尝试使用之前检查以确保具有 id 的元素存在并且已完全加载page.click()


推荐阅读