【发布时间】:2025-12-24 18:50:07
【问题描述】:
我正在尝试在 Puppeteer 测试环境中设置 HTML 元素的 innerText,但无法(轻松)通过 CSS 选择器获取元素,因此我通过以下方式获取 elementHandle:
let [ el ] = await page.$x(`//span[contains(text(), 'addTestFile.pdf')]`)
我通常使用evaluate 设置innerText 用于测试目的,但我需要一个选择器,例如:
await page.evaluate(() => document.querySelector('mySelector').innerText = '⚠️DOM modified for testing purposes⚠️')
我可以在没有 CSS 选择器的情况下设置给定 elementHandle 的 innerText 吗?
我知道我可以使用 await el.getProperty('innerHTML') 获取值,但我没有找到设置它的方法。
【问题讨论】:
-
类似
const targetEle = [...document.querySelectorAll("span")].find(ele => ele.innerText.includes("addTestFile.pdf"))来选择您的目标元素会有帮助吗?
标签: javascript puppeteer