## Returning innerHTML of an Element
You can use the following methods to return the [`innerHTML`][1] of an element:
### [page.$eval()][2]
const inner_html = await page.$eval('#example', element => element.innerHTML);
### [page.evaluate()][3]
const inner_html = await page.evaluate(() => document.querySelector('#example').innerHTML);
### [page.$()][4] / [elementHandle.getProperty()][5] / [jsHandle.jsonValue()][6]
const element = await page.$('#example');
const element_property = await element.getProperty('innerHTML');
const inner_html = await element_property.jsonValue();
<hr>
## Clicking an Element with Specific innerHTML
You can use the following methods to click on an element based on the [`innerHTML`][1] that is contained within the element:
### [page.$$eval()][7]
await page.$$eval('.example', elements => {
const element = elements.find(element => element.innerHTML === '<h1>Hello, world!</h1>');
element.click();
});
### [page.evaluate()][3]
await page.evaluate(() => {
const elements = [...document.querySelectorAll('.example')];
const element = elements.find(element => element.innerHTML === '<h1>Hello, world!</h1>');
element.click();
});
### [page.evaluateHandle()][8] / [elementHandle.click()][9]
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();
[1]:
[To see links please register here]
[2]:
[To see links please register here]
[3]:
[To see links please register here]
[4]:
[To see links please register here]
[5]:
[To see links please register here]
[6]:
[To see links please register here]
[7]:
[To see links please register here]
[8]:
[To see links please register here]
[9]:
[To see links please register here]