user17929112
user17929112

Reputation:

Puppeteer Throwing Error "Cannot extract value when objectId is given"

Started getting this error today in Puppeteer running on Ubuntu. Never had this happen before, and our code has not changed, just updated Puppeteer. Anyone ideas?

Error: Cannot extract value when objectId is given
at assert (/root/bot/node_modules/puppeteer-core/lib/cjs/puppeteer/util/assert.js:28:15)
at valueFromRemoteObject (/root/bot/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js:242:28)
at createClientError (/root/bot/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js:122:16)
at CDPPage._CDPPage_handleException (/root/bot/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js:894:94)
at /root/bot/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js:186:100
at /root/bot/node_modules/puppeteer-core/lib/cjs/third_party/mitt/index.js:3:248
at Array.map ()
at Object.emit (/root/bot/node_modules/puppeteer-core/lib/cjs/third_party/mitt/index.js:3:232)
at CDPSessionImpl.emit (/root/bot/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js:87:22)
at CDPSessionImpl._onMessage (/root/bot/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:441:18)
Node.js v18.7.0
Exit!

Worked On
Ubuntu: 20.04.3
Node: 14.17.5
puppeteer: 9.1.1
puppeteer-extra: 3.3.4
puppeteer-extra-plugin-stealth: 2.11.1

NOT Working On
Ubuntu: 22.10
Node: 18.7.0
puppeteer: 20.2.1
puppeteer-extra: 3.3.6
puppeteer-extra-plugin-stealth: 2.11.2

Looks like its a version specific bug.

  const puppeteer = require('puppeteer');

  const withBrowser = async (fn) => {
    const browser = await puppeteer.launch({
      headless: true,
      args: ['--no-sandbox', '--disable-setuid-sandbox', '--proxy-server=zproxy.lum-superproxy.io:22225', '--window-size=' + vWidth + ',' + vHeight],
      ignoreDefaultArgs: ['--disable-extensions', '--disable-default-apps', '--disable-component-extensions-with-background-pages']
    });
    try {
      return await fn(browser);
    } finally {
      await browser.close();
    }
  }

  const withPage = (browser) => async (fn) => {
    const page = await browser.newPage();
    await page.setViewport({ width: vWidth, height: vHeight, deviceScaleFactor: 1});
    try {
      return await fn(page);
    } finally {
      await page.close();
      await browser.close();
    }
  }

  const results = await withBrowser(async (browser) => {
      return withPage(browser)(async (page) => {
        try {
response = await page.goto(pageUrl);
    .catch((err) => {
      console.error(err);
    });

Upvotes: 5

Views: 1027

Answers (1)

user17929112
user17929112

Reputation:

Looks like this is a bug in Puppeteer as of version 2.1.x

https://github.com/puppeteer/puppeteer/issues/10224

Upvotes: 0

Related Questions