پرش به محتوای اصلی
پرش به محتوای مقاله

Webcmd جایگزینی برای سلکتورهای شکننده در اتوماسیون وب با واسط‌های خط فرمان

·۱۹ تیر ۱۴۰۵۴ دقیقه مطالعه۲ بازدید
راهنما
ساخت عامل مرورگر هوش مصنوعی بدون کدنویسی Playwright
ساخت عامل مرورگر هوش مصنوعی بدون کدنویسی Playwright
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

تبدیل پویا و خودکار وب‌سایت‌ها به دستورات CLI پایدار؛ به‌جای نوشتن اسکریپت برای هر سایت، یک عامل هوش مصنوعی آداپتورهای موقت و «خودترمیم‌شونده» می‌سازد که خروجی JSON آن‌ها ثابت می‌ماند.

تصور کنید هر بار که یک وب‌سایت تغییر کوچکی در ظاهرش می‌دهد، تمام کدهایی که برای اتوماسیون نوشته‌اید از کار می‌افتند و باید ساعت‌ها در پانل DevTools به دنبال سلکتورهای جدید بگردید. این چرخه خسته‌کننده، ویژگی بارز اتوماسیون اپلیکیشن‌های وب مدرن است که با بازرسی درخواست‌های شبکه و وصله کردن سلکتورهای CSS شکننده تعریف می‌شود. Webcmd این چرخه را می‌شکند و نشست‌های مرورگر و APIها را به واسط‌های خط فرمان (CLI) قطعی تبدیل می‌کند.

ابزارهای سنتی اتوماسیون مانند Playwright یا Puppeteer به محض تغییر چیدمان یک سایت شکست می‌خورند. این موضوع یک بار نگهداری دائمی برای توسعه‌دهندگانی ایجاد می‌کند که مجبورند دستی سلکتورها را به‌روزرسانی کنند، کاری که اغلب در ساعت ۱۱ شب در پانل DevTools انجام می‌شود. طبق گزارش منتشرشده در ۱۰ ژوئیه ۲۰۲۶ در یک راهنمای فنی در وب‌سایت dev.to، Webcmd این فشار کاری را به یک عامل (Agent) منتقل می‌کند که سایت را کاوش کرده و یک آداپتور (Adapter) — کد خاصی که سطح وب را به یک یا چند دستور تبدیل می‌کند — برای کاربر تولید کرده و آن را تأیید می‌کند. این رویکرد با تلاش‌های شرکت‌هایی نظیر فریکید همسو است که با مهندسی معکوس APIها، مسیر تبدیل اپلیکیشن‌های وب به ابزارهای عملیاتی برای عامل‌ها را هموار کردند.

زمینه و راه‌اندازی

برای شروع کار، توسعه‌دهندگان این ابزار را از طریق دستور npm install -g @agentrhq/webcmd با استفاده از Node.js ۲۰ یا نسخه‌های جدیدتر نصب می‌کنند. Webcmd در هر جایی که عامل کدنویسی به دسترسی Shell داشته باشد، قابل اجرا است.

قبل از اینکه یک عامل کاوش را آغاز کند، کاربران می‌توانند محیط را بررسی کنند. دستور داخلی webcmd doctor سه جزء حیاتی را چک می‌کند: محیط اجرای محلی (Runtime)، دیمون (Daemon) و پل مرورگر (Browser Bridge). اگر خروجی این دستور سبز باشد، به این معناست که عامل تمام پیش‌نیازهای لازم برای نوشتن یک دستور را در اختیار دارد.

ساخت عامل مرورگر هوش مصنوعی بدون کدنویسی Playwright

گردش کار عامل‌محور

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی امنیت مدل‌های بازمتن و ابزارهای عامل‌محور اشاره کردیم، انتقال کنترل از کد سخت‌گیرانه به منطق احتمالی هوش مصنوعی، نیازمند لایه‌های اعتبارسازی است. در Webcmd، سیستم بر اساس یک تغییر ذهنی سطح بالا عمل می‌کند: شما به‌جای نوشتن کد، دستور مورد نظر خود را به زبان ساده توصیف می‌کنید. سپس دستیار کدنویسی هوش مصنوعی، سایت را پیمایش کرده، آداپتور را پیاده‌سازی و در نهایت تأیید می‌کند. این ابزار در واقع یکی از پاسخ‌های عملی به چالش‌های اجرایی است که در مجموعه‌ای از ابزارهای کلیدی برای عبور از بن‌بست‌های عملیاتی عامل‌های هوش مصنوعی به آن‌ها پرداخته‌ایم.

جزئیات پیاده‌سازی

بر اساس مستندات فنی این ابزار، جزئیات پیاده‌سازی به شرح زیر است:

  • استخراج داده‌های عمومی: کاربر به‌جای یافتن دستی DOM، هدف خود را توصیف می‌کند. برای مثال، برای ایجاد یک CLI جست‌وجوی شغل، کاربر دستور webcmd example jobs را تعریف می‌کند. او ورودی‌هایی برای عبارت جست‌وجو و مکان تعیین می‌کند و خروجی را در قالب ردیف‌های JSON-friendly شامل عنوان، شرکت، مکان، متن حقوق (salary_text)، تاریخ انتشار (posted_at) و URL درخواست می‌کند.
  • انتخاب استراتژی: عامل سایت را کاوش کرده و به‌طور خودکار بهترین استراتژی را انتخاب می‌کند. برای صفحات باز از حالت PUBLIC و زمانی که باید یک صفحه زنده را هدایت کند، از حالت UI استفاده می‌کند.
  • آداپتورهای خصوصی: کاربران می‌توانند درخواست کنند که آداپتورها خصوصی بمانند و برای اعتبارسنجی آن‌ها از یک تست دوده‌ای (Smoke Test) استفاده کنند.

Webcmd احراز هویت‌های پیچیده را از طریق پروفایل‌های نام‌گذاری‌شده مدیریت می‌کند. این مکانیزم تضمین می‌کند که هویت‌های مرورگر و وضعیت‌های ورود از کد آداپتور جدا بمانند، به این معنی که اعتبارنامه‌ها هرگز وارد کد مبدأ (Codebase) نمی‌شوند.

برای یک گردش کار در وضعیت ورود، مانند داشبورد Acme برای فاکتورها، کاربر صرفاً عامل را به یک پروفایل خاص (مثلاً پروفایل work) ارجاع می‌دهد و فیلدهای مورد نیاز را تعریف می‌کند: شناسه فاکتور (invoice_id)، مشتری، تاریخ سررسید، مبلغ، وضعیت و URL جزئیات. اگر ورود دستی لازم باشد، عامل متوقف شده و از انسان درخواست اعتبارنامه می‌کند.

پس از تأیید آداپتور، CLI حاصل پایدار و قطعی است. برای مثال، اجرای webcmd acme invoices --format json داده‌های ساختاریافته‌ای را ارائه می‌دهد که می‌توان آن‌ها را به کارهای زمان‌بندی‌شده (Cron Jobs) یا خط‌لوله‌های داده بزرگتر منتقل کرد، بدون اینکه نیازی به باز بودن پنجره مرورگر باشد.

ترمیم و نگهداری

نگهداری در این سیستم از طریق فرآیندی به نام «ترمیم» (Healing) انجام می‌شود. در اسکریپت‌های سنتی Playwright، یک به‌روزرسانی در سایت به معنای مقایسه دستی DOM جدید با قدیمی است. اما در Webcmd، کاربر فقط به عامل می‌گوید که دستور اکنون ردیف‌های خالی برمی‌گرداند و از او می‌خواهد آداپتور را تشخیص، تعمیر و تأیید کند.

  • ابزارهای ردیابی: عامل از ردیابی Webcmd و ابزارهای مرورگر استفاده می‌کند تا بفهمد چه چیزی تغییر کرده است؛ خواه یک سلکتور CSS باشد، یک فیلد API یا تغییری در رفتار احراز هویت.
  • پایداری طرح‌واره (Schema): عامل آداپتور را وصله می‌کند در حالی که ساختار خروجی را بدون تغییر نگه می‌دارد. این کار باعث می‌شود اسکریپت‌های پایین‌دستی که از خروجی JSON استفاده می‌کنند، علیرغم تغییرات رابط کاربری (UI Drift)، هرگز خراب نشوند.

این رویکرد نقش توسعه‌دهنده را از یک «تیم تعمیرات» به یک معمار سیستم تغییر می‌دهد. به‌جای مراقبت از تک‌تک عناصر DOM، توسعه‌دهنده جریان‌های داده ساختاریافته و قابل اعتماد را مدیریت می‌کند.

برای کسانی که از اسکریپت‌های سخت‌کد شده فاصله می‌گیرند، مزیت اصلی تفکیک وضعیت رابط کاربری (UI State) از خروجی داده‌ها است. عامل هوش مصنوعی در واقع نتیجه وب‌سایت را در قالب یک دستور تکرارپذیر منجمد می‌کند.

این تغییر، گامی به سوی محیط‌های اجرای عامل‌محور است که در آن هوش مصنوعی فقط کد نمی‌نویسد، بلکه واسط عملیاتی بین کاربر و سرویس‌های وب شخص ثالث را نگهداری می‌کند.

توسعه‌دهندگان اکنون می‌توانند از راهنمای شروع سریع (Quickstart) برای انتقال اولین اسکریپت‌های Playwright خود به یک محیط اجرای مدیریت‌شده توسط عامل استفاده کنند و قابلیت‌های «ترمیم» را در برابر تغییرات زنده سایت‌ها آزمایش نمایند.

گام بعدی شما

  • اگر اسکریپت‌های اتوماسیون زیادی با Playwright دارید، چند مورد از شکننده‌ترین آن‌ها را شناسایی و با Webcmd جایگزین کنید.
  • قابلیت «ترمیم» را با تغییر عمدی در CSS یک صفحه محلی تست کنید تا سرعت بازیابی عامل را بسنجید.
  • پروفایل‌های مجزا برای محیط‌های تست و عملیاتی تعریف کنید تا از نشت اعتبارنامه‌ها در کد جلوگیری شود.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این فناوری بار نگهداری اتوماسیون وب را به‌صورت چشم‌گیر کاهش می‌دهد و تخصص توسعه‌دهنده را از اصلاح سلکتورها به طراحی جریان داده منتقل می‌کند. اعتبار این رویکرد را می‌توان در کاهش هزینه‌های عملیاتی شرکت‌هایی دید که با ده‌ها تغییر روزانه در وب‌سایت‌های هدف مواجه‌اند.

تأثیر برای ایران

برنامه‌نویسان ایرانی که در زمینه استخراج داده (Scraping) فعالیت می‌کنند، می‌توانند با این ابزار هزینه‌ی نگهداری پروژه‌های خود را کاهش دهند، هرچند دسترسی به برخی سرویس‌های ابری مرتبط ممکن است نیاز به ابزارهای تغییر IP داشته باشد.

·نگاه ما
تحریریه دات‌هوش

این ابزار در واقع مفهوم «ناپایداری وب» را به عنوان یک متغیر شناخته شده می‌پذیرد و به‌جای تلاش برای توقف آن، لایه‌ای برای مدیریت خودکار تغییرات ایجاد می‌کند. با این رویکرد، وابستگی توسعه‌دهندگان به DOM از بین می‌رود و رابط کاربری تنها به یک «منبع داده» تبدیل می‌شود، نه یک «ساختار اجرایی». این یک گام جدی به سمت حذف کامل کدنویسی سنتی برای وب‌کراولینگ است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.