@puppedo/atoms
Version:
Atoms for PuppeDo
27 lines (25 loc) • 623 B
JavaScript
module.exports = async function atomRun() {
const { selector } = this.selectors;
const { key } = this.data;
const element = await this.getElement(selector);
try {
const value = await this.page.evaluate(
(element, attribute) => {
return element[attribute];
},
element,
key,
);
await element.dispose();
return { value };
} catch (error) {
await this.log({
text: `Can't get '${key}' from selector: '${selector}'`,
element,
screenshot: true,
extendInfo: true,
level: 'error',
});
throw error;
}
};