1

I'm trying to run a puppeteer script on my hosted website using browserify to bundle all the node scripts into one. I tried

PS C:\Users\frank\OneDrive\Documents\SSW-215\Assignments\SupremeBot\frontEnd> browserify index.js -o bundle.js
Error: Cannot find module 'C:\Users\frank\OneDrive\Documents\SSW-215\Assignments\SupremeBot\node_modules\puppeteer\utils\browser\WebSocket' from 'C:\Users\frank\OneDrive\Documents\SSW-215\Assignments\SupremeBot\node_modules\puppeteer\lib'
    at C:\Users\frank\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:55:21
    at load (C:\Users\frank\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:69:43)
    at onex (C:\Users\frank\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:92:31)
    at C:\Users\frank\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:22:47
    at FSReqCallback.oncomplete (fs.js:158:21)
PS C:\Users\frank\OneDrive\Documents\SSW-215\Assignments\SupremeBot\frontEnd>

I have no clue where to go from here. Here is my index.js file:

var backendScript = require('../backEnd/backend.js');
var safeBackendScript = require('../backEnd/safeBackend.js');

function startBot(){
    let botOption = document.getElementsByClassName("bot-option")[0];
    if (botOption.value === "safe"){
        safeBackendScript.startSafeBot();
    }
    else {
        backendScript.startFastBot();
    }

}

And here is the file, safeBackend.js, that uses puppeteer:

const puppeteer = require('puppeteer');
var productSearch = require('./productSearch');

async function startSafeBot () {

  const browser = await puppeteer.launch({ 
    headless: false,
  });

  const browserPage = await browser.newPage();

  await generateSupremeBrowser(browserPage);
  await addToCart(browserPage);
  await checkout(browserPage);
  await processPayment(browserPage);
  await browser.close();
}

I'm running my frontend html page using a static server and when a button is clicked, i want it to run a the puppeteer function above. That's why i need to bundle it using browserify, but no luck.

frankied003
  • 466
  • 6
  • 26

2 Answers2

0

I guess you will have to add/try the patch https://github.com/puppeteer/puppeteer/tree/6522e4f524bdbc1f1b9d040772acf862517ed507/utils/browser

  • 1
    Welcome to SO. Can you explain how the link's content answers the question?. You can leave the link for further reference – artfulbeest Jun 22 '20 at 15:43
  • Thanks , Please see the comments added on the page https://github.com/puppeteer/puppeteer/commit/6ec3ce6920095ea3c660ddf91567fb6dbe1714ef I have tried this and then I was able to build my code. – Rameshwar K Jun 23 '20 at 04:50
0

goto node_modules\puppeteer folder then create utils and then browser folder under util i.e node_modules/puppeteer/utils/browser Now in browser folder create a file name as 'WebSocket.js' in WebSocket.js file add text module.exports = window.WebSocket; save WebSocket.js and then try your browserify.