puppeteer не запускается 2 и более процессов, с папкой пользователя
Возникла проблема.
при попытке запустить 2 процесса с откл. HEADLESS (отображение браузера во время выполнения), вылазит ошибка. (причем второй экземпляр пытается открыть вкладки в уже работающем хроме. т.е. не запускает новый экземпляр) [17664:7324:0510/133157.340:ERROR:cache_util_win.cc(20)] Unable to move the cache: �������� � �������. (0x5) [17664:7324:0510/133157.340:ERROR:cache_util.cc(144)] Unable to move cache folder C:\Users\maxx-\AppData\Local\Chromium\User Data\ShaderCache\GPUCache to C:\Users\maxx-\AppData\Local\Chromium\User Data\ShaderCache\old_GPUCache_000 [17664:7324:0510/133157.340:ERROR:disk_cache.cc(184)] Unable to create cache [17664:7324:0510/133157.340:ERROR:shader_disk_cache.cc(606)] Shader Cache Creation failed: -2 Браузер запускается с указанием папки пользователя (чтобы подключались дополнения). Причем во втором экземпляре указываю отдельный каталог. а он всё равно обращается к Chromium\User Data\, пробовал так же запускать браузер из отдельного каталога.(копия папки с браузером) Пример Launcher.js из папки пупитера async launch(options = {}) { const { ignoreDefaultArgs = false, args = [], dumpio = false, executablePath = null, pipe = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, ignoreHTTPSErrors = false, defaultViewport = { width: 800, height: 600 }, slowMo = 0, timeout = 30000, } = options; const profilePath = `C:\\Users\\maxx-\\AppData\\Local\\Chromium\\User Data1\\`); const chromeArguments = []; if (!ignoreDefaultArgs) chromeArguments.push(...this.defaultArgs(options)); else if (Array.isArray(ignoreDefaultArgs)) chromeArguments.push(...this.defaultArgs(options).filter((arg) => !ignoreDefaultArgs.includes(arg))); else chromeArguments.push(...args); let temporaryUserDataDir = null; if (!chromeArguments.some((argument) => argument.startsWith('--remote-debugging-'))) chromeArguments.push(pipe ? '--remote-debugging-pipe' : '--remote-debugging-port=0'); if (!chromeArguments.some((arg) => arg.startsWith('--user-data-dir'))) { temporaryUserDataDir = await mkdtempAsync(profilePath); chromeArguments.push(`C:\\Users\\maxx-\\AppData\\Local\\Chromium\\User Data1\\`); } |
оказалось всё просто.
defaultArgs(options = {}) { const chromeArguments = [ '--user-data-dir=C:\\Users\\maxx-\\AppData\\Local\\Chromium\\User Data88\\', |
Часовой пояс GMT +3, время: 02:54. |