如何使用操纵符访问文本输入字段中的当前值

时间:2019-09-04 21:53:10

标签: node.js xpath puppeteer

我正在尝试使用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()

希望外面有人知道如何实现这一目标!

2 个答案:

答案 0 :(得分:1)

使用评估应该可以:

console.log(await page.evaluate(x => x.value, fieldHandle)));

答案 1 :(得分:1)

这对我有用

const name = await page.$eval("#usernameInput", (input) => {
 return input.getAttribute("value")
 });