重用浏览器实例Puppeterr [英] reuse browser instance puppeterr
本文介绍了重用浏览器实例Puppeterr的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道是否可能有一个.js文件打开浏览器实例,创建新的页面/选项卡登录到网站(使用用户名/密码),然后保持空闲状态。
在另一个.js文件中使用一个浏览器实例及其页面。
1.js
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox'],
ignoreDefaultArgs: ["--hide-scrollbars"]
});
const page = await browser.newPage();
const response = await page.goto('https://google.com');
console.log('Browser open in the background (headless)!');
//await browser.close();
})();
2.js
const puppeteer = require('puppeteer');
(async () => {
// instructions on browser instance/page from 1.js ...
})();
推荐答案
Crawler对象保留浏览器实例的状态,并且 无论您在哪里调用/传递该实例,它都引用相同的铬 在"背景"里。如果这是矫枉过正,而你只是想 使用木偶戏连接到已经在运行的铬,您可以做到这一点 带着木偶师。连接。看看这个: How to "hook in" puppeteer into a running Chrome instance/tab-Mbit
是的,我想这对我来说有点过头了:)。但是您发布的链接正是我想要的,但有两个问题。
这是我的样本。
// 1.js
// open chromium, new tab, go to google.com, print browserWSEndpoint, disconnect
const puppeteer = require('puppeteer');
(async () => {
var browser = await puppeteer.launch({headless: false});
var page = await browser.newPage();
var response = await page.goto('https://google.com');
var browserWSEndpoint = browser.wsEndpoint();
console.log(browserWSEndpoint); // prints: ws://127.0.0.1:51945/devtools/browser/6462daeb-469b-4ae4-bfd1-c3bd2f26aa5e
browser.disconnect();
})();
和
// 2.js
// connect to the open browser with the browserWSEndpoint manualy put in, ... , disconect.
const puppeteer = require('puppeteer');
(async () => {
var browser = await puppeteer.connect({browserWSEndpoint: 'ws://127.0.0.1:51945/devtools/browser/6462daeb-469b-4ae4-bfd1-c3bd2f26aa5e'});
// somehow use the tab that is open from 1.js (google.com)
await browser.disconnect();
})();
我从console.log 1.js中获得BrowserWSEndpoint字符串。 它工作得很好,但我有两个困难。
1-如何使用1.js中的变量browserWSEndpoint,以便不必总是将其复制粘贴到2.js。
2-如果我在1.js上打开一个新页面/选项卡,例如转到Google并断开连接(browser.disconnect()),如何在2.js上使用该页面/选项卡。
这篇关于重用浏览器实例Puppeterr的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文