我试图在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')
获得这个值,但是我找不到设置它的方法。
发布于 2021-09-14 18:38:51
我弄清楚了:我可以这样在elementHandle
上使用evaluate
:
let [ el ] = await page.$x(`//span[contains(text(), 'addTestFile.pdf')]`)
await el.evaluate(element => element.innerText = '⚠️DOM modified for testing purposes⚠️')
https://stackoverflow.com/questions/69182680
复制相似问题