Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用已有的配置文件多次启动木偶演员_Javascript_Node.js_Google Chrome_Automation_Puppeteer - Fatal编程技术网

Javascript 如何使用已有的配置文件多次启动木偶演员

Javascript 如何使用已有的配置文件多次启动木偶演员,javascript,node.js,google-chrome,automation,puppeteer,Javascript,Node.js,Google Chrome,Automation,Puppeteer,因此,我尝试用已经存在的chrome配置文件启动Puppeter,它可以工作,但我想做的是多次启动相同的进程,这会抛出一个错误 (节点:12820)未处理的PromisejectionWarning:错误:无法 启动浏览器进程! [0311/152606.490:错误:chrome_main_delegate.cc(679)]只有在还使用 非默认值 我是这样做的: const browser = await puppeteer.launch({ executablePath: &quo

因此,我尝试用已经存在的chrome配置文件启动Puppeter,它可以工作,但我想做的是多次启动相同的进程,这会抛出一个错误

(节点:12820)未处理的PromisejectionWarning:错误:无法 启动浏览器进程! [0311/152606.490:错误:chrome_main_delegate.cc(679)]只有在还使用 非默认值

我是这样做的:

 const browser = await puppeteer.launch({
    executablePath: "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
    headless: false,
    // excludeSwitches: 'enable-automation',
    args: [

      '--user-data-dir=C:\\Users\\USER\\AppData\\Local\\Google\\Chrome\\User Data'
    ],
  });

据我所知,Puppeter不允许为同一个userDataDir多次启动自己,因为该文件夹包含一个缓存文件夹,每个Puppeter实例必须是唯一的。但是,您可以使用同一浏览器实例打开多个页面。例如:

   const browser = await puppeteer.launch({
      executablePath: "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
      headless: false,
      // excludeSwitches: 'enable-automation',
      args: [
         '--user-data-dir=C:\\Users\\USER\\AppData\\Local\\Google\\Chrome\\User Data'
      ],
   });
   const page1 = await browser.newPage();
   const page2 = await browser.newPage();
   await page1.goto("https://www.bbc.co.uk", {waitUntil: 'networkidle2'});
   await page2.goto("https://www.google.co.uk", {waitUntil: 'networkidle2'});
如果您真的需要完全隔离的Puppeter进程,那么您需要使用自己独特的userDataDir启动每个进程。您可以尝试使用所需的配置文件构建一个轻量级概要文件,并为启动的每个进程制作一个副本


很抱歉,这并不是一个完美的解决方案,但我认为您所尝试的方法是不可能的。

没错,但谢谢您的回答