我正在尝试确定元素#view_container > div > div > div.pwWryf.bxPAYd > div > div.WEQkZc > div > form > content > section > div > content > div.ck6P8 > div > div
是否包含特定字符集(•••)
。我对编码非常陌生,因此不胜感激。
答案 0 :(得分:2)
看看$$eval
page.$$eval('#view_container > div', (elements) =>
elements.some((el) => el.textContent.includes('some text'))
);
答案 1 :(得分:1)
类似这样的东西:
'use strict';
const puppeteer = require('puppeteer');
(async function main() {
try {
const browser = await puppeteer.launch();
const [page] = await browser.pages();
await page.goto('https://example.org/');
const stringIsIncluded = await page.evaluate(() => {
const string = '...';
const selector = 'p > a[href]';
return document.querySelector(selector).innerText.includes(string);
});
console.log(stringIsIncluded);
await browser.close();
} catch (err) {
console.error(err);
}
})();
如果您需要元素的原始文本且未对所有空白进行归一化检查,则可以使用.textContent
代替.innerText
。