如何使用节点Puppeteer设置select值

Bre*_*ins 5 automation node.js google-chrome-headless puppeteer

我正在尝试使用相当新的GoogleChrome/puppeteer库进行一些自动化,但我无法弄清楚如何在选择字段中设置值.

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

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

await setInputVal('input.searchjob', task.id)
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何为选择字段做同样的事情.

我试图设置焦点,插入脚本和执行,但我不能让它工作.

Bre*_*ins 11

我自己找到了解决方案:

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

await setSelectVal('#select_id', 'newValue')
Run Code Online (Sandbox Code Playgroud)


Gra*_*ler 3

您可以page.select()使用selectoption

await page.select('select#example', 'carrot');
Run Code Online (Sandbox Code Playgroud)