基本上,我正在尝试使用 node.js puppeteer 设置输入的值。相关代码如下:
//Enter email
await page.evaluate(() => document.getElementsByName('emailOrPhone')[0].value = 'tester@gmail.com');
我已经仔细检查过实际选择器是否正确。作为证明,这是我在网站控制台中输入 document.getElementsByName('emailOrPhone')[0].value 并获取正确值的屏幕截图:
但根据我的控制台,我正在尝试将属性“值”设置为未定义。这是怎么回事?
最佳答案
终于明白了
我试图在输入实际加载到页面之前设置输入的值。我相信这被称为“竞争条件”。无论如何,在我调用该方法之后
await page.waitForSelector('input[name="emailOrPhone"]');
然后尝试在输入字段中输入文本,它成功了
关于javascript - 尝试设置输入 node.js puppeteer 的值时出现未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59016685/