使用 Puppeteer 更改属性值

4

我有一个带有属性'value="2018-06-20"'的元素'input[name=startdate]'。

除了使用Puppeteer与用于更改日期的日历进行交互之外,是否有任何方法可以使用Puppeteer设置值呢?

类似于...

let newDate = '2018-01-01'

value.innerHTML = newDate


你只需要使用await page.$('yourinputselector').type(20180101)即可 - 你试过了吗? - James LeClair
当我运行你的代码时,它会给我一个错误,说“类型错误:page.$(...).type不是函数”。 - peetyp
我的错误 - 我把语法搞乱了。尝试 await page.type('yourinputselector', 20180101) - James LeClair
1个回答

12

我能够找出解决方法,现在在这里发布以防其他人也遇到同样的问题。

await page.$eval('input[name=startdate]', e => e.setAttribute("value", "2018-01-01"))

如果您想将日期设置为一个变量...

const randomDate = '2018-01-01'
await page.$eval('input[name=startdate]', (e, randomDate) => { 
    e.setAttribute("value", randomDate),
    randomDate
    )}

有人能指出如何使用上述方法设置多个属性吗? - Swaggerboy
1
@Swaggerboy,你只需要改变箭头函数,使其包含一段代码块。 - Krystian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接