Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
403 views
in Technique[技术] by (71.8m points)

javascript - Puppeteer - prevent reloading when connecting to a running browser

I'm trying to connect to a running chromium instance on a remote device with a touchscreen. However, this causes a reload of the webapp and losing it's current state.

  const connectOpts = {
    browserURL: 'http://remote-host:4321',
    defaultViewport: {
      width: 1024,
      height: 600,
      hasTouch: true  // works fine if removed
    }
  };

  const browser = await puppeteer.connect(connectOpts);

  try {
    // this causes a reload
    const pages = await browser.pages();

    // this wouldn't cause a reload
    //const contexts = await browser.browserContexts();
    //const pages = await contexts.pages();
  }
  finally {
    await browser.disconnect();
  }

This seems related to the touch display, when I remove the hasTouch property it works as expected. It also works as long as I don't call either browser.pages() or browserContext.pages(). Is there any way to access the page and prevent the reload to preserve the app's original state while also having touch enabled?

question from:https://stackoverflow.com/questions/66068115/puppeteer-prevent-reloading-when-connecting-to-a-running-browser

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...