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

时间:2019-11-24 10:26:17

标签: 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

但是根据我的控制台,我试图将属性'value'设置为undefined。这是怎么回事?

2 个答案:

答案 0 :(得分:0)

检查木偶戏there is the method "type"的文档

您可以像这样使用它:

document.querySelector("[name=emailOrPhone]").type("test@test.test");

答案 1 :(得分:0)

最后弄清楚了

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

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

然后尝试在输入字段中输入文本,就可以了