javascript - 尝试设置输入 node.js puppeteer 的值时出现未定义错误

标签 javascript node.js puppeteer

基本上,我正在尝试使用 node.js puppeteer 设置输入的值。相关代码如下:

        //Enter email
        await page.evaluate(() => document.getElementsByName('emailOrPhone')[0].value = 'tester@gmail.com');

我已经仔细检查过实际选择器是否正确。作为证明,这是我在网站控制台中输入 document.getElementsByName('emailOrPhone')[0].value 并获取正确值的屏幕截图:

enter image description here

但根据我的控制台,我正在尝试将属性“值”设置为未定义。这是怎么回事?

最佳答案

终于明白了

我试图在输入实际加载到页面之前设置输入的值。我相信这被称为“竞争条件”。无论如何,在我调用该方法之后

    await page.waitForSelector('input[name="emailOrPhone"]');

然后尝试在输入字段中输入文本,它成功了

关于javascript - 尝试设置输入 node.js puppeteer 的值时出现未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59016685/

相关文章:

javascript - 尽管并非所有条件都满足,但仍触发 if 语句

javascript - 如何使用 Three.js 使用鼠标旋转 3D 对象而不将其旋转到屏幕外?

javascript - 如何读取非英文字符,如: "Ä,ö" from file in node. js

node.js - Elastic Beanstalk - 无法运行 npm install

javascript - 基于属性错误的 Puppeteer 选择器

javascript - React 容器未正确绑定(bind)

javascript - 如何将html表格单列显示为多列?

node.js - 无法读取未定义的属性 “send”

puppeteer - 如何在日期选择器中选择日期?

node.js - 在 Node.js 中更改 JPEG 文件 DPI header