有人知道如何获取元素的innerHTML或文本吗?或者更好;如何单击具有特定innerHTML的元素?这就是它与普通JavaScript的工作方式:
var found = false
$(selector).each(function() {
if (found) return;
else if ($(this).text().replace(/[^0-9]/g, '') === '5' {
$(this).trigger('click');
found = true
}
});提前感谢您的帮助!
发布于 2017-10-04 13:11:45
我就是这样得到innerHTML的:
page.$eval(selector, (element) => {
return element.innerHTML
})发布于 2020-03-16 21:18:49
返回元素的innerHTML
可以使用以下方法返回元素的innerHTML:
const inner_html = await page.$eval('#example', element => element.innerHTML);const inner_html = await page.evaluate(() => document.querySelector('#example').innerHTML);$() / elementHandle.getProperty() / jsHandle.jsonValue()
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();
});page.evaluateHandle() / elementHandle.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();发布于 2017-12-27 14:55:09
这应该适用于木偶技师:)
const page = await browser.newPage();
const title = await page.evaluate(el => el.innerHTML, await page.$('h1'));https://stackoverflow.com/questions/46431288
复制相似问题