如何使用节点 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()
到 select
和 option
:
await page.select('select#example', 'carrot');
我正在尝试使用相当新的 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()
到 select
和 option
:
await page.select('select#example', 'carrot');