18 lines
392 B
JavaScript
18 lines
392 B
JavaScript
class BasePage {
|
|
constructor(website) {
|
|
this.website = website;
|
|
}
|
|
|
|
get url() {
|
|
throw new Error('Subclasses must implement url');
|
|
}
|
|
|
|
async getLinks() {
|
|
const content = this.website.find('content');
|
|
const links = content.locator('a');
|
|
return await links.evaluateAll(els => els.map(el => el.getAttribute('href')).filter(Boolean));
|
|
}
|
|
}
|
|
|
|
module.exports = BasePage;
|