{"_id":"@alexrahvalov/browser-automation","_rev":"2-b0d980316573998f5677e5cee0344db0","name":"@alexrahvalov/browser-automation","dist-tags":{"latest":"3.0.0"},"versions":{"1.1.0":{"name":"@alexrahvalov/browser-automation","version":"1.1.0","keywords":["browser","playwright","automation","bun","chromium","firefox","webkit"],"author":"","license":"ISC","_id":"@alexrahvalov/browser-automation@1.1.0","maintainers":[{"name":"alexrahvalov","email":"alex.rahvalov@gmail.com"}],"dist":{"shasum":"5526a5d5cdce16dc91cc231a37cd46b0aaf6c3eb","tarball":"https://registry.npmjs.org/@alexrahvalov/browser-automation/-/browser-automation-1.1.0.tgz","fileCount":10,"integrity":"sha512-1k+jI1axoYd5FvAsVDRqqTzVDsSojfyUOnelRB7WsfVSLm4Kop2Xbqrn9UaQAufSk8qn0xG8PAEY9kd5c44K+w==","signatures":[{"sig":"MEUCIGFJ0RIsxjcQYkw0m348Qr8sUA4qO3NqjjqzQCeNnCPDAiEAti5Mx0VwqBnsdUUkxM5tHCCdB3t2EttWyXKlylaAlrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75015},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.0.0"},"scripts":{"test":"node test.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"alexrahvalov","email":"alex.rahvalov@gmail.com"},"_npmVersion":"11.2.0","description":"A library to emulate browser behavior with Playwright","directories":{},"_nodeVersion":"20.18.0","dependencies":{"playwright-core":"^1.51.1"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.51.1","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"playwright":"^1.51.1","playwright-webkit":"^1.51.1","playwright-firefox":"^1.51.1","playwright-chromium":"^1.51.1"},"_npmOperationalInternal":{"tmp":"tmp/browser-automation_1.1.0_1742881656637_0.1796932491580816","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@alexrahvalov/browser-automation","version":"3.0.0","description":"A library to emulate browser behavior with Puppeteer, with anti-detection and human behavior simulation","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"node test.js","prepublishOnly":"npm run build"},"keywords":["browser","puppeteer","automation","bun","chromium","firefox","webkit"],"author":{"name":"alexrahvalov"},"license":"ISC","type":"module","dependencies":{"puppeteer":"^22.3.0"},"peerDependencies":{"puppeteer":"^22.3.0"},"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"engines":{"bun":">=1.0.0"},"_id":"@alexrahvalov/browser-automation@3.0.0","_nodeVersion":"20.18.0","_npmVersion":"11.2.0","dist":{"integrity":"sha512-8yCQdCpuUEAxCfJ1PfmxUB0b7rhJzLQRsAEqtkySgoahpfgsn7uiu7mYqHfBlHQT79Y9NQTYtrZyd6WWXszJPg==","shasum":"7a3ca4efd8154787a8567a3c51e4cc4627ec592a","tarball":"https://registry.npmjs.org/@alexrahvalov/browser-automation/-/browser-automation-3.0.0.tgz","fileCount":11,"unpackedSize":90009,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCgORjJb7F346PE6pRoIXCCL+EtCBgspGgWbuL0BNQHPQIgYboZOuZgtT0k/m+n8h/fxe8t44pbxa/wcMAp5K5Qn1U="}]},"_npmUser":{"name":"alexrahvalov","email":"alex.rahvalov@gmail.com"},"directories":{},"maintainers":[{"name":"alexrahvalov","email":"alex.rahvalov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browser-automation_3.0.0_1742890023457_0.9114673068418107"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-25T05:47:36.535Z","modified":"2025-03-25T08:07:03.821Z","1.1.0":"2025-03-25T05:47:36.839Z","3.0.0":"2025-03-25T08:07:03.652Z"},"license":"ISC","keywords":["browser","puppeteer","automation","bun","chromium","firefox","webkit"],"description":"A library to emulate browser behavior with Puppeteer, with anti-detection and human behavior simulation","maintainers":[{"name":"alexrahvalov","email":"alex.rahvalov@gmail.com"}],"readme":"# Browser Automation Library\r\n\r\nБиблиотека для автоматизации браузера с использованием Puppeteer, с функциями антидетекта и имитации человеческого поведения.\r\n\r\n## Установка\r\n\r\n```bash\r\nnpm install @alexrahvalov/browser-automation\r\n```\r\n\r\nили с Bun:\r\n\r\n```bash\r\nbun add @alexrahvalov/browser-automation\r\n```\r\n\r\n## Возможности библиотеки\r\n\r\n- 🌐 Полная поддержка браузеров Chrome и Firefox\r\n- 🛡️ Встроенный антидетект режим\r\n- 🧠 Имитация человеческого поведения при работе с браузером\r\n- 🔄 Управление cookies и сессиями\r\n- 📱 Эмуляция различных устройств и настройка User-Agent\r\n- 🚀 Совместимость с Bun для максимальной производительности\r\n\r\n## Использование\r\n\r\n```javascript\r\nimport { BrowserLib } from '@alexrahvalov/browser-automation';\r\n\r\n// Создание экземпляра с антидетект настройками\r\nconst browser = new BrowserLib('chrome', {\r\n  antiDetect: true,  // Включаем антидетект режим\r\n  randomizeViewport: true  // Случайный размер окна браузера\r\n});\r\n\r\n// Запуск браузера с расширенными настройками\r\nawait browser.init({\r\n  headless: false,  // Показывать браузер\r\n  slowMo: 50,  // Замедление действий для более реалистичного поведения\r\n});\r\n\r\n// Переход на сайт (автоматически добавит https:// если отсутствует)\r\n// При этом автоматически имитируется человеческое поведение (скроллинг, движение мыши)\r\nawait browser.goto('example.com');\r\n\r\n// Реалистичный ввод текста с имитацией человеческого поведения\r\nawait browser.type('#search', 'запрос для поиска', { humanLike: true });\r\n\r\n// Реалистичный клик с имитацией движения мыши\r\nawait browser.click('#submit-button');\r\n\r\n// Сохранение cookies для последующего использования\r\nconst cookies = await browser.saveCookies();\r\nconsole.log('Cookies сохранены');\r\n\r\n// Загрузка сохраненных cookies в другой сессии\r\nawait browser.loadCookies(cookies);\r\n\r\n// Закрытие браузера\r\nawait browser.close();\r\n```\r\n\r\n## API\r\n\r\n### Конструктор\r\n```typescript\r\nconstructor(browserType: 'chrome' | 'firefox' = 'chrome', options: BrowserOptions = {})\r\n```\r\n\r\n### Методы\r\n\r\n#### init(options?: BrowserOptions)\r\nИнициализирует браузер с указанными опциями.\r\n\r\n```typescript\r\ninterface BrowserOptions {\r\n  headless?: boolean | 'shell';\r\n  defaultViewport?: {\r\n    width: number;\r\n    height: number;\r\n  } | null;\r\n  args?: string[];\r\n  timeout?: number;\r\n  slowMo?: number;\r\n  antiDetect?: boolean;\r\n  randomizeViewport?: boolean;\r\n  defaultHeaders?: Record<string, string>;\r\n  userAgent?: string | null;\r\n}\r\n```\r\n\r\n#### goto(url: string, options?: { timeout?: number, waitUntil?: 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2' })\r\nПереходит на указанный URL (автоматически добавляет https:// если отсутствует) и имитирует человеческое поведение на странице.\r\n\r\n#### getPage()\r\nВозвращает объект страницы Puppeteer.\r\n\r\n#### waitForSelector(selector: string, timeout?: number)\r\nОжидает появления элемента на странице.\r\n\r\n#### click(selector: string, options?: { delay?: number, randomize?: boolean })\r\nКликает по элементу с имитацией человеческого поведения.\r\n\r\n#### type(selector: string, text: string, options?: { delay?: number, humanLike?: boolean })\r\nВводит текст с имитацией человеческого ввода, включая случайные задержки и возможные опечатки.\r\n\r\n#### randomDelay(min?: number, max?: number)\r\nВыполняет случайную задержку между действиями.\r\n\r\n#### screenshot(path: string)\r\nДелает скриншот страницы.\r\n\r\n#### saveCookies()\r\nСохраняет cookies текущей сессии.\r\n\r\n#### loadCookies(cookies: CookieParam[])\r\nЗагружает cookies для текущей сессии.\r\n\r\n#### evaluate<T>(fn: () => T)\r\nВыполняет JavaScript на странице.\r\n\r\n#### close()\r\nЗакрывает браузер.\r\n\r\n## Антидетект функции\r\n\r\nБиблиотека включает следующие механизмы обхода обнаружения автоматизации:\r\n\r\n- ✅ Скрытие флага `navigator.webdriver`\r\n- ✅ Эмуляция плагинов браузера\r\n- ✅ Имитация аппаратных характеристик устройства\r\n- ✅ Маскировка WebGL fingerprinting\r\n- ✅ Случайные User-Agent и HTTP заголовки\r\n- ✅ Реалистичные движения мыши и ввод с клавиатуры\r\n- ✅ Имитация случайных задержек между действиями\r\n- ✅ Реалистичная прокрутка страницы\r\n\r\n## Поддерживаемые браузеры\r\n\r\n- Chrome (по умолчанию)\r\n- Firefox\r\n\r\n## Требования\r\n\r\n- Node.js >= 14.0.0\r\n- Bun >= 1.0.0 ","readmeFilename":"README.md","author":{"name":"alexrahvalov"}}