maxun icon indicating copy to clipboard operation
maxun copied to clipboard

browser.newContext: Target page, context or browser has been closed

Open yuexingliang opened this issue 9 months ago • 9 comments

Image

机器人开始抓取数据的时候,创建浏览器异常了,是什么原因?

报错信息如下: [0] /app/node_modules/playwright-extra/src/extra.ts:267 [0] const context = await originalMethod.call(ctx, contextOptions) [0] ^ [0] browser.newContext: Target page, context or browser has been closed [0] at async Browser.newContext (/app/node_modules/playwright-extra/src/extra.ts:267:25) [0] at async RemoteBrowser.initialize (/app/server/src/browser-management/classes/RemoteBrowser.ts:295:24) [0] at /app/async /app/server/src/browser-management/controller.ts:37:9 [0] [nodemon] app crashed - waiting for file changes before starting...

yuexingliang avatar Mar 21 '25 02:03 yuexingliang

@yuexingliang can you confirm does this happen everytime or just sometimes?

@RohitR311 look into this

amhsirak avatar Mar 21 '25 08:03 amhsirak

@yuexingliang can you confirm does this happen everytime or just sometimes?

@RohitR311 look into this

每次都这样,我的浏览器启动不起来,不能使用数据抓取功能

yuexingliang avatar Mar 21 '25 10:03 yuexingliang

@yuexingliang Thanks for the quick response. We do not see this happening on every local setup. Could you share more about your configuration

  1. Operating System
  2. Are you behind a proxy/firewall?
  3. Local or Docker installation?
  4. Docker logs
  5. Browser console logs (if any)

amhsirak avatar Mar 21 '25 11:03 amhsirak

@yuexingliang Thanks for the quick response. We do not see this happening on every local setup. Could you share more about your configuration

  1. Operating System
  2. Are you behind a proxy/firewall?
  3. Local or Docker installation?
  4. Docker logs
  5. Browser console logs (if any)

Operating System Image

.env

App Setup

NODE_ENV=production # Set to 'development' or 'production' as required JWT_SECRET=HtMemaPiDfHfFRp0YASfTZOWgGqKPMwDFbq1ITnS # Replace with a secure JWT secret key DB_NAME=maxun # Your PostgreSQL database name DB_USER=maxun # PostgreSQL username DB_PASSWORD=maxun # PostgreSQL password DB_HOST=postgres # Host for PostgreSQL in Docker DB_PORT=5432 # Port for PostgreSQL (default: 5432) ENCRYPTION_KEY=f4d5e6a7b8c9d0e1f23456789abcdef01234567890abcdef123456789abcdef0 # Key for encrypting sensitive data (passwords and proxies) MINIO_ENDPOINT=minio # MinIO endpoint in Docker MINIO_PORT=9000 # Port for MinIO (default: 9000) MINIO_CONSOLE_PORT=9001 # Web UI Port for MinIO (default: 9001) MINIO_ACCESS_KEY=minioadmin # MinIO access key MINIO_SECRET_KEY=minioadmin # MinIO secret key REDIS_HOST=maxun-redis-1 # Redis host in Docker REDIS_PORT=6379 # Redis port (default: 6379) #REDIS_PASSWORD= # Redis password (This is optional. Needed to authenticate with a password-protected Redis instance; if not set, Redis will connect without authentication.)

Backend and Frontend URLs and Ports

BACKEND_PORT=8080 # Port to run backend on. Needed for Docker setup FRONTEND_PORT=5173 # Port to run frontend on. Needed for Docker setup BACKEND_URL=http://localhost:8080 # URL on which the backend runs. You can change it based on your needs. PUBLIC_URL=http://localhost:5173 # URL on which the frontend runs. You can change it based on your needs. VITE_BACKEND_URL=http://localhost:8080 # URL used by frontend to connect to backend. It should always have the same value as BACKEND_URL VITE_PUBLIC_URL=http://localhost:5173 # URL used by backend to connect to frontend. It should always have the same value as PUBLIC_URL

Optional Google OAuth settings for Google Sheet Integration

GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GOOGLE_REDIRECT_URI=your_google_redirect_uri

Optional Airtable OAuth settings for Airtable Integration

AIRTABLE_CLIENT_ID=your_airtable_client_id AIRTABLE_REDIRECT_URI=http://localhost:8080/auth/airtable/callback

Telemetry Settings - Please keep it enabled. Keeping it enabled helps us understand how the product is used and assess the impact of any new changes.

MAXUN_TELEMETRY=true

3、Docker install, command docker-compose up -d

4、docker logs -f maxun-backend-1

/app/node_modules/playwright-extra/src/extra.ts:267 [0] const context = await originalMethod.call(ctx, contextOptions) [0] ^ [0] browser.newContext: Target page, context or browser has been closed [0] at async Browser.newContext (/app/node_modules/playwright-extra/src/extra.ts:267:25) [0] at async RemoteBrowser.initialize (/app/server/src/browser-management/classes/RemoteBrowser.ts:295:24) [0] at /app/async /app/server/src/browser-management/controller.ts:37:9 [0] [nodemon] app crashed - waiting for file changes before starting...

5、I couldn't find dockerlog

yuexingliang avatar Mar 23 '25 02:03 yuexingliang

@RohitR311 Could you please let me know when this issue is expected to be resolved?

yuexingliang avatar Mar 24 '25 06:03 yuexingliang

@yuexingliang This is being fixed in #498 and will be available in the next release - which will be this week.

amhsirak avatar Mar 24 '25 11:03 amhsirak

@yuexingliang This is being fixed in #498 and will be available in the next release - which will be this week.

thanks

yuexingliang avatar Mar 25 '25 03:03 yuexingliang

I also encountered the same issue and made some additional discoveries. Firstly, in the Docker logs of the backend project, there is this error: "Target page, context or browser has been closed." Secondly, I found that the backend service frequently crashes, and there is this problem: "[nodemon] app crashed - waiting for file changes before starting," which forces me to restart the backend service.

lihai123456789 avatar Apr 11 '25 07:04 lihai123456789

I suspect that this issue is caused by insufficient CPU resources on the server. When I see the Docker log starting with "Target page, context or browser has been closed," I find that the server's CPU is already at 100%.

lihai123456789 avatar Apr 11 '25 09:04 lihai123456789