我正在使用puppeteer构建一个脚本来登录Youtube。当我用木偶戏打开火狐时,我想用userDataDir保存我的登录会话。然而,添加userDataDir参数会使我的浏览器启动崩溃。
const browser = await puppeteer.launch({
product: 'firefox',
args: [
'-wait-for-browser',
"--no-sandbox"
],
headless: true,
userDataDir: "./user_data",
dumpio: true
});我得到的错误是:
Users/calvinchen/node_modules/puppeteer/lib/cjs/common/Connection.js:54
this._callbacks.set(id, { resolve, reject, error: new Error(), method });
^
Error: Protocol error (Target.setDiscoverTargets): can't access property "currentWindowGlobal", this.browsingContext is null get title@chrome://remote/content/targets/TabTarget.jsm:111:5
_getTargetInfo@chrome://remote/content/domains/parent/Target.jsm:181:7
_onTargetCreated@chrome://remote/content/domains/parent/Target.jsm:190:29
setDiscoverTargets@chrome://remote/content/domains/parent/Target.jsm:91:12
execute@chrome://remote/content/domains/DomainCache.jsm:99:25
execute@chrome://remote/content/sessions/Session.jsm:64:25
onPacket@chrome://remote/content/Connection.jsm:225:36
onMessage@chrome://remote/content/server/WebSocketTransport.jsm:85:18
handleEvent@chrome://remote/content/server/WebSocketTransport.jsm:67:14
at /Users/calvinchen/node_modules/puppeteer/lib/cjs/common/Connection.js:54:63
at new Promise (<anonymous>)
at Connection.send (/Users/calvinchen/node_modules/puppeteer/lib/cjs/common/Connection.js:53:16)
at Function.create (/Users/calvinchen/node_modules/puppeteer/lib/cjs/common/Browser.js:90:26)
at FirefoxLauncher.launch (/Users/calvinchen/node_modules/puppeteer/lib/cjs/node/Launcher.js:238:53)
at processTicksAndRejections (node:internal/process/task_queues:94:5)
at async /Users/calvinchen/Desktop/YoutubeUploaderV2/youtubeuploader.js:32:21当我注释掉userdatadir时,浏览器就会按预期启动。
发布于 2021-04-20 02:44:09
我在Firefox上也遇到了同样的问题。如果你没有正确关闭浏览器,用户数据就会被破坏。我关闭了headless,然后在完成后手动关闭了浏览器。然后,我的用户数据再也不会被破坏了。
https://stackoverflow.com/questions/65985032
复制相似问题