如何使用节点Puppeteer

时间:2017-08-21 07:57:29

标签: node.js automation 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)

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

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

2 个答案:

答案 0 :(得分:10)

我自己找到了解决方案:

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

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

答案 1 :(得分:1)

您可以使用page.select()selectoption

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