如何使用节点 Puppeteer 设置 select 的值

How to set value of select with node Puppeteer

我正在尝试使用相当新的 GoogleChrome/puppeteer 库进行一些自动化操作,但我不知道如何在 select 字段中设置值。

这是我设置文本输入值的(简化)函数:

async function setInputVal(sel, text) {
    await page.focus(sel)        
    page.press('Backspace')
    page.type(text)
}

await setInputVal('input.searchjob', task.id)

我不知道如何对 select 字段执行相同的操作。

我试过设置焦点、插入脚本并执行,但我无法正常工作。

我自己找到了解决方案:

async function setSelectVal(sel, val) {
    page.evaluate((data) => {
        return document.querySelector(data.sel).value = data.val
    }, {sel, val})
}

await setSelectVal('#select_id', 'newValue')

您可以使用 page.select()selectoption:

await page.select('select#example', 'carrot');