基本上,我正在尝试使用node.js puppeteer设置输入的值。以下是相关代码:
//Enter email
await page.evaluate(() => document.getElementsByName('emailOrPhone')[0].value = 'tester@gmail.com');
我已经仔细检查了实际的选择器是否正确。作为证明,下面是我在网站控制台中输入document.getElementsByName('emailOrPhone')[0] .value并获得正确值的屏幕截图:
但是根据我的控制台,我试图将属性'value'设置为undefined。这是怎么回事?
答案 0 :(得分:0)
检查木偶戏there is the method "type"的文档
您可以像这样使用它:
document.querySelector("[name=emailOrPhone]").type("test@test.test");
答案 1 :(得分:0)
最后弄清楚了
我试图在将输入实际加载到页面之前设置输入的值。我相信这被称为“比赛条件”。无论如何,在我调用该方法之后
await page.waitForSelector('input[name="emailOrPhone"]');
然后尝试在输入字段中输入文本,就可以了