В этом уроке мы рассмотрим, как использовать Puppeteer для автоматизации операций RPA в Nstbrowser. Следуя этому уроку, вы сможете:
Итак, давайте погрузимся и раскроем потенциал RPA с помощью Puppeteer и Nstbrowser.
RPA (Robotic Process Automation) — это технология автоматизации бизнес-процессов, основанная на программных роботах и искусственном интеллекте.
В традиционных инструментах автоматизации рабочих процессов задачи автоматизации обычно создаются программистами и используют внутренние интерфейсы прикладного программирования (API) или специализированные скриптовые языки для взаимодействия с backend-системами. Некоторые программы могут не иметь API для таких целей, и RPA может снизить порог для автоматизации.
Ищете способ эффективно управлять несколькими учетными записями?
RPA от Nstbrowser может помочь
Есть ли у вас хорошие идеи или вопросы о веб-скрейпинге и Browserless?
Посмотрите чем делятся другие разработчики в Discord и Telegram!
Nstbrowser — это бесплатный антидетект-браузер, который упрощает веб-скрапинг и автоматизацию. Он интегрируется с антидетектом, разблокировкой веб-страниц и интеллектуальными прокси.
Кроме того, Nstbrowser также поддерживает облачные контейнерные кластеры, работу без браузера и облачное решение корпоративного уровня, совместимое с Windows/Mac/Linux. Очевидно, что он позволяет выполнять бесшовную автоматизацию даже в тех случаях, когда традиционные API или скриптовые языки недоступны.
Продолжайте прокручивать!
Прежде чем начать, убедитесь, что у вас есть следующее:
npm install
. Это создаст файл package.json
, содержащий все зависимости.npm init -y
npm install puppeteer-core
Создайте новый каталог проекта и перейдите в него. Затем инициализируйте новый проект Node.js
и установите puppeteer-core.
mkdir my-automation-project
cd my-automation-project
npm init -y
npm install puppeteer-core
Прежде чем начать работу, вам нужно получить API-ключ и ProfileID.
После успешного получения API-ключа и ProfileID, давайте настроим Puppeteer для подключения к Nstbrowser с использованием вашего API-ключа и ProfileID.
Создайте файл JavaScript (например, index.js) в вашем каталоге проекта и добавьте следующий код:
import puppeteer from 'puppeteer-core';
async function execPuppeteer(browserWSEndpoint) {
try {
const browser = await puppeteer.connect({
browserWSEndpoint: browserWSEndpoint,
defaultViewport: null,
});
await browser.newPage();
} catch (err) {
console.error('launch', err);
}
}
async function launchAndConnectToBrowser(profileId) {
const host = 'localhost:8848';
const apiKey = 'your api key'; // Replace with your actual API key
const config = {
headless: false, // support: true, 'new'
autoClose: true,
};
const query = new URLSearchParams({
'x-api-key': apiKey, // required
config: encodeURIComponent(JSON.stringify(config)),
});
const browserWSEndpoint = `ws://${host}/devtool/launch/${profileId}?${query.toString()}`;
await execPuppeteer(browserWSEndpoint);
}
launchAndConnectToBrowser('your profile id').then(); // Replace with your actual ProfileId
your api key
и your profile id
на ваши фактические API-ключ и ProfileID.После подключения к браузеру Nstbrowser вы можете выполнить некоторые действия, которые хотите реализовать в RPA, например, автоматически войти в свою учетную запись Amazon. Обновите функцию execPuppeteer, чтобы включить шаги:
async function execPuppeteer(browserWSEndpoint) {
try {
const browser = await puppeteer.connect({
browserWSEndpoint: browserWSEndpoint,
defaultViewport: null,
});
const page = await browser.newPage();
await page.goto('https://www.amazon.com');
// go to sign in page
const signInSelector = '#nav-link-accountList';
await page.waitForSelector(signInSelector);
await page.click(signInSelector);
// type your account
const accountInputSelector = '#ap_email';
await page.waitForSelector(accountInputSelector);
await page.type(accountInputSelector, 'your account');
// click continue button
const continueSelector = 'input#continue';
await page.waitForSelector(continueSelector);
await page.click(continueSelector);
// type your password
const passowrdInputSelector = '#ap_password';
await page.waitForSelector(passowrdInputSelector);
await page.type(passowrdInputSelector, 'your password');
// click submit button
const signInSubmitSelector = '#signInSubmit';
await page.waitForSelector(signInSubmitSelector);
await page.click(signInSubmitSelector);
} catch (err) {
console.error('launch', err);
}
}
your account
и your password
на ваши фактические учетные данные для входа в Amazon.Таким образом, вы успешно автоматически вошли в свою учетную запись Amazon. Это всего лишь очень распространенная и базовая операция функции RPA, больше сценариев RPA ждут вашего открытия.
import puppeteer from 'puppeteer-core';
async function execPuppeteer(browserWSEndpoint) {
try {
const browser = await puppeteer.connect({
browserWSEndpoint: browserWSEndpoint,
defaultViewport: null,
});
const page = await browser.newPage();
await page.goto('https://www.amazon.com');
// Go to sign-in page
const signInSelector = '#nav-link-accountList';
await page.waitForSelector(signInSelector);
await page.click(signInSelector);
// Type your account
const accountInputSelector = '#ap_email';
await page.waitForSelector(accountInputSelector);
await page.type(accountInputSelector, 'your account');
// Click continue button
const continueSelector = 'input#continue';
await page.waitForSelector(continueSelector);
await page.click(continueSelector);
// Type your password
const passwordInputSelector = '#ap_password';
await page.waitForSelector(passwordInputSelector);
await page.type(passwordInputSelector, 'your password');
// Click submit button
const signInSubmitSelector = '#signInSubmit';
await page.waitForSelector(signInSubmitSelector);
await page.click(signInSubmitSelector);
} catch (err) {
console.error('launch', err);
}
}
async function launchAndConnectToBrowser(profileId) {
const host = 'localhost:8848';
const apiKey = 'your api key';
const config = {
headless: false, // support: true, 'new'
autoClose: true,
};
const query = new URLSearchParams({
'x-api-key': apiKey, // required
config: encodeURIComponent(JSON.stringify((config))),
});
const browserWSEndpoint = `ws://${host}/devtool/launch/${profileId}?${query.toString()}`;
await execPuppeteer(browserWSEndpoint);
}
launchAndConnectToBrowser('your profile id').then();
Мы надеемся, что с помощью этого урока вы уяснили три ключевых момента:
Используя Puppeteer и Nstbrowser, вы можете создавать эффективные автоматизированные рабочие процессы для выполнения повторяющихся задач, управления несколькими учетными записями и выполнения сложных задач веб-автоматизации.