我遇到了一个问题,我创建了一个相当简单的 Node 进程来捕获屏幕截图。是否可以在获取屏幕截图之前使用 Puppeteer 更改 HTML 元素的 innerText
?
我已经成功使用 Puppeteer 在身份验证字段中键入文本并登录到站点,但我想知道是否有类似的方法可以让我更改特定元素中的文本(使用 id 或类名)。
我正在使用的屏幕截图代码示例:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('https://google.com')
await page.screenshot({path: 'google.png'})
await browser.close()
})()
在这个例子中,我想知道我是否可以更改一个元素的文本内容,例如 ID 为“lga”的 div ...例如添加一个文本字符串。
Puppeteer 可以吗?
否则,它工作得很好。我只需要在我正在执行屏幕截图的页面中插入一些文本。我仅在 Ubuntu 16.04 机器和 Node 版本 9、Puppeteer 版本 1.0.0 上使用命令行。
最佳答案
你可以在屏幕之前这样做
await page.evaluate(() => {
let dom = document.querySelector('#id');
dom.innerHTML = "change to something"
});
关于javascript - 是否可以在创建屏幕截图之前使用 Puppeteer 修改 DOM 中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48513066/