@skypilot/scraper
Version:
Node-based scriptable web scraper
35 lines (29 loc) • 807 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getAttribute = getAttribute;
async function getAttribute(elementHandle, attr, options = {}) {
const {
noTrim = false
} = options;
switch (attr) {
case 'innerHTML':
{
const innerHtml = await elementHandle.innerHTML();
return noTrim ? innerHtml : innerHtml.trim();
}
case 'innerText':
{
const innerText = await elementHandle.innerText();
return !innerText || noTrim ? innerText : innerText.trim();
}
case 'textContent':
{
const textContent = await elementHandle.textContent();
return !textContent || noTrim ? textContent : textContent.trim();
}
default:
return elementHandle.getAttribute(attr);
}
}