我正在尝试使用puppeteer和xpath从一个已经填写好的表单中自动检索表单值。
我已经按照以下方式自动填充文本输入字段,但是对.evaluate()进行反向操作不起作用:
[fieldHandle] = await page.$x("//label[text() = 'My Label']/../following-sibling::td[1]//input")
await page.evaluate((x, y) => x.value = y, fieldHandle, 'newValue')
这是我最近的尝试-仍然没有成功...
let [fieldHandle] = await page.$x("//label[text() = 'My Label']/../following-sibling::td[1]//input")
let fieldRaw = await fieldHandle.getProperty('textContent')
let fieldValue = await fieldRaw.jsonValue()
希望外面有人知道如何实现这一目标!
答案 0 :(得分:1)
使用评估应该可以:
console.log(await page.evaluate(x => x.value, fieldHandle)));
答案 1 :(得分:1)
这对我有用
const name = await page.$eval("#usernameInput", (input) => {
return input.getAttribute("value")
});