это мой класс
class Chrome {
constructor(browser, page) {
this.browser;
this.page;
}
async launch() {
if (!this.browser) {
console.log("launching browser...");
this.browser = await puppeteer.launch({ headless: false, slowMo: 200 });
}
if (!this.page) {
console.log("creating page...");
this.page = await this.browser.newPage();
}
}
async navigate(url) {
await this.launch();
await this.page.goto(url);
}
async log(text) {
console.log(text);
}
}
class Bot extends Chrome {
constructor(browser, page) {
super(browser, page);
}
async navigateFirstPage() {
this.log("navigating first page");
await this.navigate("http://scraper-playground.surge.sh/#/");
}
}
module.exports = Bot;
Это мой индексный файл
const Bot = require("./Bot");
const UsePlugin = new Proxy(new Bot(), {
get: function(object, prop) {
object.page && object.page.screenshot({ path: "before.jpg" });
return object[prop];
}
});
UsePlugin.navigateFirstPage();
Я хочу сделать скриншот до и после каждого действия. например, перед переходом на страницу я хочу сделать скриншот, используя page.screenshot
. Итак, как-то мне нужно сделать скриншот, когда вызывается navigateFirstPage()
.
и мне нужно делать скриншот до и после каждого действия! так что, если я позвоню UsePlugin.anotherAction()
, это также должно сделать 2 снимка экрана.
как это сделать внутри javascript ловушки get прокси?