返回元素的innerHTML
您可以使用以下方法返回innerHTML
元素的:
const inner_html = await page.$eval('#example', element => element.innerHTML);
const inner_html = await page.evaluate(() => document.querySelector('#example').innerHTML);
const element = await page.$('#example');
const element_property = await element.getProperty('innerHTML');
const inner_html = await element_property.jsonValue();
单击具有特定 innerHTML 的元素
您可以使用以下方法根据innerHTML
包含在元素中的元素单击元素:
await page.$$eval('.example', elements => {
const element = elements.find(element => element.innerHTML === '<h1>Hello, world!</h1>');
element.click();
});
await page.evaluate(() => {
const elements = [...document.querySelectorAll('.example')];
const element = elements.find(element => element.innerHTML === '<h1>Hello, world!</h1>');
element.click();
});
const element = await page.evaluateHandle(() => {
const elements = [...document.querySelectorAll('.example')];
const element = elements.find(element => element.innerHTML === '<h1>Hello, world!</h1>');
return element;
});
await element.click();