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)
您可以page.select()使用select:option
await page.select('select#example', 'carrot');
Run Code Online (Sandbox Code Playgroud)