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 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…