检测何时使用伪造者重新加载页面

问题描述

我正在尝试使用puppeteer和MutationObserver监视网站中的更改。

为此,我必须评估javascript代码以注入变异观察者对象。

每隔n次重新加载页面时,我的问题就出现了,我的变异观察者不再注入了。

我需要检测页面何时重新加载自身,以再次注入变异观察者。

const puppeteer = require('puppeteer-extra')
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
puppeteer.use(StealthPlugin())

//Ejecucion de Puppeteer
puppeteer.launch({ headless: false }).then(async browser => {
console.log('Running script..')
const page = await browser.newPage()
await page.goto('mywebsite');

//Wait for my selector
await page.waitForSelector('my-selector')

//Create a function to get data in puppeteer context
await page.exposeFunction('puppeteerLogMutation',(param1) => {
    console.log('----NEW MUTATION----');
    console.log(param1);   
});

//Inject Mutation Observer
await page.evaluate(() => {
    const observer = new MutationObserver((mutationList) => {
        mutationList.forEach((mutation)=> {
            //Do something with the mutation detected
            //Send data to puppeteer context
            puppeteerLogMutation(mutation.type)
        })
    });
    //MutationObserver configure
    const observerOptions = {
                      attributes: true,childList: true,subtree: true,characterData: true,attributeOldValue: true,characterDataOldValue: true
                      };
//Mutation observer object execution
    observer.observe(target,observerOptions);
}`

很显然,在重新加载页面时,我的注入不再起作用,所以我试图检测何时重新加载页面以再次注入观察者。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)