Puppeteer: 예제 싀행을 μ‹œλ„ν•˜λŠ” EPERM 였λ₯˜

에 λ§Œλ“  2017λ…„ 08μ›” 16일  Β·  42μ½”λ©˜νŠΈ  Β·  좜처: puppeteer/puppeteer

λ‹€μŒ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ €κ³ ν•©λ‹ˆλ‹€.

var puppeteer = require("puppeteer");

puppeteer.launch().then(async browser => {
    let page = await browser.newPage();
    await page.goto('https://google.com');
    await page.screenshot({ path: 'screenshot.png' });
    browser.close();
});

였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

Error: EPERM: operation not permitted, unlink 'C:\Users\tivac\Desktop\puppeteer-testing\node_modules\puppeteer\.dev_profile1\CrashpadMetrics-active.pma'

디버깅 κ³Όμ •μ—μ„œ DEBUG=* λ₯Ό μ„€μ •ν•˜μ—¬ λ¬Έμ œκ°€ λ°œμƒν•œ μœ„μΉ˜λ₯Ό μ΄ν•΄ν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ κ·Έλ ‡κ²Œ ν•œ ν›„μ—λŠ” μ œλŒ€λ‘œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. πŸ˜•

첫 μ‹€ν–‰ ν™˜κ²½μ΄ DEBUG μ΄μ™Έμ˜ λͺ¨λ“œμ—μ„œ μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ? 잘 λͺ¨λ₯΄κ² μ§€λ§Œ 그게 λ‚˜μ—κ²Œ μΌμ–΄λ‚œ μΌμž…λ‹ˆλ‹€!

bug host

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

해결책이 μžˆμŠ΅λ‹ˆλ‹€. λΈŒλΌμš°μ €λ₯Ό λ‹«κΈ° 전에 νŽ˜μ΄μ§€λ₯Ό λ‹«μ•„μ•Όν•©λ‹ˆλ‹€. λ¬Όλ‘  더 λ§Žμ€ νŽ˜μ΄μ§€κ°€ μ—΄λ € 있으면 λͺ¨λ‘ λ‹«μœΌμ‹­μ‹œμ˜€.
await page.close(); await browser.close();

await browser.close() λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ @ ivangergo3 의 λ‹΅λ³€ 덕뢄에 λͺ¨λ“  νŽ˜μ΄μ§€λ₯Ό λ‹«λŠ” λͺ‡ 쀄을 μΆ”κ°€ν•˜λ©΄ 좩돌 였λ₯˜κ°€ μ œκ±°λ©λ‹ˆλ‹€! πŸ˜„

let pages = await browser.pages()
await Promise.all(pages.map(page =>page.close()))
await browser.close()

2020 λ…„ 12 μ›” 17 일 μˆ˜μ •

  • μ•„λž˜ μ–ΈκΈ‰ 된 λˆ„λ½ 된 κ΄„ν˜Έ μˆ˜μ •

λͺ¨λ“  42 λŒ“κΈ€

μΆ”μΈ‘ : μ‹€μˆ˜λ‘œ 슀크립트λ₯Ό 두 번 μ‹œμž‘ν–ˆμ„ 수 있으며 두 λͺ…μ˜ 병렬 μΈν˜•κ·Ήμ΄ λ™μΌν•œ ν”„λ‘œν•„ 폴더 ( .dev_profile1 크둬을 μ‹€ν–‰ν•˜λ €κ³ ν–ˆμŠ΅λ‹ˆλ‹€.

puppeteer의 병렬 싀행이 μ œλŒ€λ‘œ μž‘λ™ν•˜λ„λ‘ ν”„λ‘œν•„ 폴더 이름을 λ¬΄μž‘μœ„λ‘œ μƒμ„±ν•΄μ•Όν•©λ‹ˆλ‹€.

μžˆμ„ μˆ˜μžˆλ‹€! CLIλ₯Ό 톡해 λ…Έλ“œλ₯Ό μ‹œμž‘ν•˜κ³  λΈŒλΌμš°μ €λ₯Όλ³΄κ³  μ‹Άμ—ˆ κΈ° λ•Œλ¬Έμ— μ›λž˜ headless : false μ„€μ • μ΄μ™Έμ˜ λ‹€λ₯Έ μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— κ°€λŠ₯성이 κ±°μ˜μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. DEBUG μ„€μ •ν•  λ•ŒκΉŒμ§€ 맀번 μž¬ν˜„λ˜λ©°,이 μ‹œμ μ—μ„œ λͺ¨λ“  것이 μ™„λ²½ν•˜κ²Œ μž‘λ™ν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.

+1

μ•ˆλ…•ν•˜μ„Έμš”,
μΈν˜•μ„ μ‘°μ’…ν•˜λŠ” μ‚¬λžŒμ—κ²Œλ§Œ μƒˆλ‘œ μ‚¬μš©ν–ˆμ§€λ§Œ μ—¬μ „νžˆ 같은 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. https://github.com/GoogleChrome/puppeteer/#usage 첫 번째 예제 슀크립트λ₯Ό μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.

λΈŒλΌμš°μ €λ₯Ό μ‹œμž‘ν•˜κ³  μ¦‰μ‹œ λ‹«μœΌλ €κ³ ν•˜λŠ” 더 κ°„λ‹¨ν•œ 예제 슀크립트λ₯Ό μ‚¬μš©ν•˜μ—¬μ΄ λ¬Έμ œλ„ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

const puppeteer = require('puppeteer');

(async () => {
  console.log("Launching browser.");

  const browser = await puppeteer.launch();

  console.log("Closing browser.");

  browser.close();
})();

이 슀크립트λ₯Ό μ‹€ν–‰ν•˜κΈ° 전에 node_modules/puppeteer/.dev_profile1 디렉터리λ₯Ό μˆ˜λ™μœΌλ‘œ μ‚­μ œν•˜λ €κ³ ν–ˆλŠ”λ° 였λ₯˜κ°€ 계속 λ°œμƒν•©λ‹ˆλ‹€.

ν•΄κ²° λ°©λ²•μœΌλ‘œ, μž‘μ—…μ„ 마치면 process.exit(0) λ₯Ό ν˜ΈμΆœν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œλ„ λ¬Έμ œκ°€μ—†λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€. puppeteerλŠ” 예기치 μ•Šμ€ λΆ€λͺ¨ ν”„λ‘œμ„ΈμŠ€ μ’…λ£Œμ˜ κ²½μš°μ—λ„ μ‹œμž‘λœ Chromium μžμ‹ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ •λ¦¬ν•˜λŠ” 데 맀우 쒋은 것 κ°™μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ λŒ€λ‹¨ν•©λ‹ˆλ‹€!

처음 λͺ‡ 번 μ‚¬μš© 데λͺ¨λ₯Ό μ‹€ν–‰ν–ˆμ§€λ§Œ 맀번 ν™•μΈν•˜μ§€λŠ” λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. μ•½ 10 λΆ„ 후에 슀크립트 μ‹€ν–‰ 였λ₯˜λ³΄λ‹€ 훨씬 더 λ§Žμ€ 성곡을 λ³΄κ²Œλ©λ‹ˆλ‹€. 그것이 λ„μ›€μ΄λ˜λŠ”μ§€ μ•„λ‹Œμ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

같은 문제, windows 10, node v7.10.0, puppeteer 1.0.0. DEBUG = * 섀정은 λ„μ›€μ΄λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ΄€λ¦¬μžλ‘œ μ‹€ν–‰ ν•΄λ³΄μ‹­μ‹œμ˜€.

D:\puppeteer>node index.js
fs.js:1081
  return binding.unlink(pathModule._makeLong(path));
                 ^

Error: EPERM: operation not permitted, unlink 'D:\puppeteer\node_modules\puppeteer\.dev_profile1\CrashpadMetrics-active.pma'
    at Object.fs.unlinkSync (fs.js:1081:18)
    at fixWinEPERMSync (D:\puppeteer\node_modules\rimraf\rimraf.js:210:13)
    at rimrafSync (D:\puppeteer\node_modules\rimraf\rimraf.js:310:28)
    at D:\puppeteer\node_modules\rimraf\rimraf.js:341:5
    at Array.forEach (native)
    at rmkidsSync (D:\puppeteer\node_modules\rimraf\rimraf.js:340:26)
    at rmdirSync (D:\puppeteer\node_modules\rimraf\rimraf.js:333:7)
    at fixWinEPERMSync (D:\puppeteer\node_modules\rimraf\rimraf.js:208:5)
    at rimrafSync (D:\puppeteer\node_modules\rimraf\rimraf.js:310:28)
    at ChildProcess.chromeProcess.on (D:\puppeteer\node_modules\puppeteer\lib\Launcher.js:87:7)

+1

같은 문제, windows 10, node v8.4.0, puppeteer 0.9.0

λͺ¨λ‘ : λ‚˜λ¬΄ 끝 β€‹β€‹μΈν˜•μ΄ 당신을 μœ„ν•΄ μΌν•˜λŠ”μ§€ 확인해 μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? 이 문제λ₯Ό ν•΄κ²°ν•  μˆ˜μžˆλŠ” λͺ‡ 가지 λ³€κ²½ 사항이 μžˆμŠ΅λ‹ˆλ‹€.

Windows 7 x64, Node .js 8.4.0.
README.md 의 tip-of-tree puppeteer 및 예제 μ½”λ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ 이제 μΌκ΄€λ˜κ²Œ λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

(node:1040) UnhandledPromiseRejectionWarning:
Unhandled promise rejection (rejection id: 1):
Error: EPERM: operation not permitted,
unlink 'c:\Windows\Temp\puppeteer_dev_profile-dgXrpD\CrashpadMetrics-active.pma'

(node:1040) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated.
In the future, promise rejections that are not handled
will terminate the Node.js process with a non-zero exit code.

ν”„λ‘œν•„ ν΄λ”λŠ” c:\Windows\Temp\ 남아 μžˆμŠ΅λ‹ˆλ‹€.

각 ν΄λ”μ—λŠ” 잠금 κΈ°ν˜Έκ°€μžˆλŠ” 2 개의 파일이 μžˆμŠ΅λ‹ˆλ‹€ (μ‹œμŠ€ν…œ 및 κ΄€λ¦¬μž 만 μ•‘μ„ΈμŠ€) :

CrashpadMetrics-active.pma

μ΅œμ‹  λ²„μ „μ—μ„œ μ„€μΉ˜ν•  λ•Œ λ¬Έμ œκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€. 주의 사항 :이 λ¬Έμ œμ— λŒ€ν•΄ κ²Œμ‹œν–ˆμ„ λ•Œμ™€λŠ” 맀우 λ‹€λ₯Έ 섀정을 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. κ·Έ λ‹Ήμ‹œ μ €λŠ” Puppeteerλ₯Ό κΈ°μ‘΄ ν”„λ‘œμ νŠΈμ— ν†΅ν•©ν•˜κ³  μžˆμ—ˆλŠ”λ° λͺ‡ 번 였λ₯˜κ°€ λ°œμƒν•œ ν›„ μ–΄λ–€ 이유둜 였λ₯˜κ°€ μ€‘μ§€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜μ΄ μ—…λ°μ΄νŠΈλ₯Ό ν…ŒμŠ€νŠΈν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€. μƒˆ ν”„λ‘œμ νŠΈλ₯Ό λ§Œλ“œλŠ” 것이 이것을 ν…ŒμŠ€νŠΈν•˜λŠ” κ°€μž₯ μ‰¬μš΄ 방법이라고 μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. μƒˆ ν”„λ‘œμ νŠΈλ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. yarn add puppeteer@latest . readme μ˜ˆμ œκ°€ 포함 된 index.js νŒŒμΌμ„ μ‹€ν–‰ν–ˆλŠ”λ° μ‹€ν–‰ν•  λ•Œλ§ˆλ‹€ λͺ¨λ“  것이 μ œλŒ€λ‘œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ .. μ•„λ§ˆ 고쳐 μ‘Œλ‚˜? μ œκ°€ λ§ν–ˆλ“―μ΄, 이것은 μ œκ°€ μ΄μ „μ—ν–ˆλ˜ κ²ƒκ³ΌλŠ” λ‹€λ₯Έ μ„€μ • μ΄μ—ˆκΈ° λ•Œλ¬Έμ— λ”μ°ν•œ 과학적 μ‹€ν—˜μ΄ μ•„λ‹™λ‹ˆλ‹€.

FWIW :

'use strict';

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  try { await browser.close(); } catch (err) { console.log(err); }
})();
{ Error: EPERM: operation not permitted,
  unlink 'c:\Windows\Temp\puppeteer_dev_profile-BzkIJu\CrashpadMetrics-active.pma'
    at Object.fs.unlinkSync (fs.js:1067:18)
    at fixWinEPERMSync (...\node_modules\rimraf\rimraf.js:210:13)
    at rimrafSync (...\node_modules\rimraf\rimraf.js:310:28)
    at ...\node_modules\rimraf\rimraf.js:341:5
    at Array.forEach (<anonymous>)
    at rmkidsSync (...\node_modules\rimraf\rimraf.js:340:26)
    at rmdirSync (...\node_modules\rimraf\rimraf.js:333:7)
    at fixWinEPERMSync (...\node_modules\rimraf\rimraf.js:208:5)
    at rimrafSync (...\node_modules\rimraf\rimraf.js:310:28)
    at killChromeAndCleanup (...\node_modules\puppeteer\lib\Launcher.js:103:7)
  errno: -4048,
  code: 'EPERM',
  syscall: 'unlink',
  path: 'c:\\Windows\\Temp\\puppeteer_dev_profile-BzkIJu\\CrashpadMetrics-active.pma' }

CrashpadMetrics-active.pmaμ—μ„œ λ™μΌν•œ μ—°κ²° ν•΄μ œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

μ–΄μ œλΆ€ν„° Node 8.4.0 및 puppeteer 0.9.0을 μƒˆλ‘œ μ„€μΉ˜ ν•œ Windows 7 Pro 컴퓨터.

https://github.com/GoogleChrome/puppeteer/commit/ac109dba6ddaa62a32fe920e864238d41bf22251 이후 λ‚˜λ₯Ό μœ„ν•΄ μˆ˜μ • 된 것 κ°™μŠ΅λ‹ˆλ‹€ (Windows 7 x64)

예, μ§€κΈˆ μˆ˜μ •ν•΄μ•Όν•©λ‹ˆλ‹€.

μΈν˜•μ„ μ‘°μ’…ν•˜λŠ” κΈ°λ³Έ 크둬 μ£Όμž…κ³Ό λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμ§€λ§Œ 크둬 λŒ€μ‹  크둬을 μ‚¬μš©ν•˜μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

데이터λ₯Ό 더 μ„ΈλΆ„ν™”ν•˜κ³  λ‹€λ₯Έ μ»΄ν“¨ν„°μ—μ„œ μ—¬λŸ¬ μΈμŠ€ν„΄μŠ€λ₯Ό μ‹€ν–‰ν•˜κΈ° λ•Œλ¬Έμ— 데이터λ₯Ό μΆ”μΆœν•˜κ³  db둜 ν‘Έμ‹œν•˜κΈ° μœ„ν•΄ puppeteerλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ§€λ§Œ λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. @aslushnikovλ₯Ό 도와

+1

puppeteer 5.2.1, λ…Έλ“œ v12.14.0, windows7μ—μ„œ ν—€λ“œλ¦¬μŠ€ falseλ₯Ό μ‚¬μš©ν•˜λŠ” κ²½μš°μ—λ§Œ +1

해결책이 μžˆμŠ΅λ‹ˆλ‹€. λΈŒλΌμš°μ €λ₯Ό λ‹«κΈ° 전에 νŽ˜μ΄μ§€λ₯Ό λ‹«μ•„μ•Όν•©λ‹ˆλ‹€. λ¬Όλ‘  더 λ§Žμ€ νŽ˜μ΄μ§€κ°€ μ—΄λ € 있으면 λͺ¨λ‘ λ‹«μœΌμ‹­μ‹œμ˜€.
await page.close(); await browser.close();

νŽ˜μ΄μ§€λ₯Ό λ‹«μ•˜λŠ”λ°μ΄ λ¬Έμ œλŠ” μ°½μ—λ§Œ λ‚˜νƒ€λ‚˜μ„œ μš°λΆ„νˆ¬λ₯Ό μ‚¬μš©ν–ˆκ³  λͺ¨λ“  것이 순쑰둭게 μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€ ... λˆ„κ΅¬λ“ μ§€ μ‚΄νŽ΄λ³Ό 수 μžˆμŠ΅λ‹ˆκΉŒ? 감사!

+1 ν—€λ“œλ¦¬μŠ€ μ°Έ / 거짓, λΈŒλΌμš°μ €λ₯Ό 닫아도 μ•„λ¬΄λŸ° 차이가 μ—†μŠ΅λ‹ˆλ‹€. Windows 10, λ…Έλ“œ 13.10.0, puppeteer v5.2.1

방금 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. win 10, puppeteer 4.0.1μ—μ„œ λ¬΄μž‘μœ„λ‘œ λ‚˜νƒ€λ‚˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.이 버그λ₯Ό λ‹€μ‹œ μ—΄μ–΄μ•Όν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ‚˜μ—κ²Œλ„ 같은 문제! Windows 10, puppeteer v5.2.1.

같은 문제, ν—€λ“œλ¦¬μŠ€λ‘œ μ‹€ν–‰ν•  λ•Œ λ¬Έμ œκ°€ μ—†μŠ΅λ‹ˆλ‹€.

동일, Windows 10μ—μ„œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

여기도 λ˜‘κ°™μ•„

여기에도 같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
[였λ₯˜ : EPERM : μž‘μ—…μ΄ ν—ˆμš©λ˜μ§€ μ•ŠμŒ, 'C : UsersxxxxxxAppDataLocalTemp1puppeteer_dev_chrome_profile-sj0wiyCrashpadMetrics-active.pma'μ—°κ²° ν•΄μ œ '] {
였λ₯˜ 번호 : -4048,
μ½”λ“œ : 'EPERM',
syscall : 'μ—°κ²° ν•΄μ œ',
경둜 : 'C : \ Users \ xxxxxxx \ AppData \ Local \ Temp \ 1 \ puppeteer_dev_chrome_profile-sj0wiy \ CrashpadMetrics-active.pma'
}
λˆ„κ΅°κ°€κ°€ 개발 νŒ€μ— 문제λ₯Ό μ—΄ β€‹β€‹μˆ˜ μžˆμŠ΅λ‹ˆκΉŒ?

λ¬Έμ œμ— κ΄€ν•œ μ†Œμ‹μ΄ μžˆμŠ΅λ‹ˆκΉŒ?

μš°λ¦¬λŠ” μ—¬μ „νžˆ 이것을 5.2.1둜 μ–»μŠ΅λ‹ˆλ‹€.

5.3.1μ—μ„œλ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

5.3.1μ—μ„œλ„ 이것을 μ–»κ³  μžˆμŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό λ‹€μ‹œμ—¬μ‹­μ‹œμ˜€. 아직도 μΌμ–΄λ‚˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

해결책이 μžˆμŠ΅λ‹ˆλ‹€. λΈŒλΌμš°μ €λ₯Ό λ‹«κΈ° 전에 νŽ˜μ΄μ§€λ₯Ό λ‹«μ•„μ•Όν•©λ‹ˆλ‹€. λ¬Όλ‘  더 λ§Žμ€ νŽ˜μ΄μ§€κ°€ μ—΄λ € 있으면 λͺ¨λ‘ λ‹«μœΌμ‹­μ‹œμ˜€.
await page.close(); await browser.close();

await browser.close() λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ @ ivangergo3 의 λ‹΅λ³€ 덕뢄에 λͺ¨λ“  νŽ˜μ΄μ§€λ₯Ό λ‹«λŠ” λͺ‡ 쀄을 μΆ”κ°€ν•˜λ©΄ 좩돌 였λ₯˜κ°€ μ œκ±°λ©λ‹ˆλ‹€! πŸ˜„

let pages = await browser.pages()
await Promise.all(pages.map(page =>page.close()))
await browser.close()

2020 λ…„ 12 μ›” 17 일 μˆ˜μ •

  • μ•„λž˜ μ–ΈκΈ‰ 된 λˆ„λ½ 된 κ΄„ν˜Έ μˆ˜μ •
let pages = await browser.pages()
await Promise.all(pages.map(page =>page.close())
await browser.close()

let pages = await browser.pages ()
await Promise.all (pages.map (page => page.close ())) // μœ„ μ½”λ“œμ— λ‹«λŠ” κ΄„ν˜Έ ν•˜λ‚˜κ°€ μ—†μŠ΅λ‹ˆλ‹€.
await browser.close ()

λΈŒλΌμš°μ €λ₯Ό λ‹«κΈ° 전에 λͺ¨λ“  νŽ˜μ΄μ§€λ₯Ό λ‹«κ³  μžˆμ§€λ§Œ μ—¬μ „νžˆμ΄ λ¬Έμ œκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. λ‹€λ₯Έ μ‚¬λžŒλ„ λ˜‘κ°™μŠ΅λ‹ˆκΉŒ?

μ—¬λŸ¬ 개의 μ—΄λ¦Ό 및 λ‹«νž˜ 크둬에 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ™μ‹œλΌκ³  μƒκ°ν•©λ‹ˆλ‹€.

λ‚˜λŠ” μˆ˜ν–‰ν•˜μ—¬ λ‹€μ†Œ μΆ”ν•œ λ°©λ²•μœΌλ‘œ κ³ μ • κ²°κ΅­ browser.process().kill('SIGKILL'); λŒ€μ‹  await browser.close(); 그리고 λ¬Έμ œλŠ” λ‹€μ‹œ μ•ˆλ‚˜μ˜€λŠ”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ΄κ²ƒμ˜ 단점이 μžˆμŠ΅λ‹ˆκΉŒ?

예, 단점은 API에 λ¬Έμ„œν™”λ˜μ–΄ μžˆμ§€ μ•Šκ³ 
해결책이 μ•„λ‹™λ‹ˆλ‹€. κΌ­λ‘κ°μ‹œ κ°œλ°œνŒ€μ΄ μˆ˜μ •μ„ν•΄μ•Όν•©λ‹ˆλ‹€. 감사
μ–΄μ¨Œλ“  톡지λ₯Ό μœ„ν•΄ :-)

2020 λ…„ 12 μ›” 18 일 κΈˆμš”μΌ 06:03 caihongxu [email protected] μž‘μ„± :

λ‚˜λŠ” 그것을 μˆ˜ν–‰ν•¨μœΌλ‘œμ¨ λ‹€μ†Œ μΆ”μ•…ν•œ λ°©μ‹μœΌλ‘œ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.
browser.process (). kill ( 'SIGKILL'); await λŒ€μ‹  browser.close (); κ³Ό
λ¬Έμ œλŠ” λ‹€μ‹œλŠ” λ°œμƒν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ΄κ²ƒμ˜ 단점이 μžˆμŠ΅λ‹ˆκΉŒ?

β€”
λŒ“κΈ€μ„ λ‹¬μ•˜ κΈ° λ•Œλ¬Έμ— μˆ˜μ‹  ν•œ κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/puppeteer/puppeteer/issues/298#issuecomment-747869465 ,
λ˜λŠ” ꡬ독 μ·¨μ†Œ
https://github.com/notifications/unsubscribe-auth/ACLIE5B26YARSKBV22ZNKATSVLPBJANCNFSM4DXFG7VQ
.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰