Готовые кластеры полноценных браузеров для параллельного запуска ваших тестов и парсеров
Моментальное подключение через Github или Яндекс ID
Бесплатный боевой демо-кластер для ознакомления
Соответствие отраслевым стандартам
Готовая инфраструктура
Работаем в РФ и СНГ
Вам не придется переписывать свои тесты, чтобы работать с нашей инфраструктурой.
Если вы используете PHP, Python, JavaScript, TypeScript, Java, .NET (C#), Go, Ruby, Kotlin или другой популярный язык программирования в своей работе, то мы подружимся!
Вы можете пользоваться нашей инфраструктурой постепенно, чтобы оценить процесс работы до полноценного перехода. К примеру, подключить её только для новых проектов.
Никаких сложных настроек — вам достаточно поменять несколько строк в своем коде! Возьмите любой свой скрипт и убедитесь сами на примере нашего демо-кластера.
Наша инфраструктура — это прекрасный полигон для ваших экспериментов. Используйте её для своих опытов по переходу с одного фреймворка тестирования на другой и демонстрации возможностей коллегам.
Рекомендуйте нашу платформу и получайте вознаграждения уже с первого внедрения. В основе нашей партнёрской программы справедливые условия вознаграждения и честное отношение.
Извлекайте данные из десятков источников параллельно
Делайте массовый рендеринг веб-страниц в HTML и PDF
Делайте скриншоты в любых разрешениях для своих отчётов
Подключение без усилий к LangChain, CrewAI, Browser Use, AutoGPT
import asyncio
from browser_use import Agent, Browser, ChatBrowserUse
XCLOUDS_CDP_API_KEY = 'your xclouds api key'
BROWSER_USE_API_KEY = 'your browser-use api key'
async def main():
browser = Browser(cdp_url=f'wss://cdp.xclouds.dev/cdp/?api_key={XCLOUDS_CDP_API_KEY}')
agent = Agent(
task='Visit https://habr.com/ and search for "vpn"',
browser=browser,
llm=ChatBrowserUse(api_key=BROWSER_USE_API_KEY),
)
await agent.run()
if __name__ == "__main__":
asyncio.run(main())
import asyncio
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser
XCLOUDS_CDP_URL = "wss://cdp.xclouds.dev/cdp/?api_key=YOUR_API_KEY"
agent = Agent(
task="Find the latest AI news",
llm=ChatOpenAI(model="gpt-4o"),
browser=Browser(cdp_url=XCLOUDS_CDP_URL)
)
asyncio.run(agent.run())
from crewai.tools import tool
XCLOUDS_SELENIUM_URL = "http://selenium.xclouds.dev/wd/hub?api_key=YOUR_API_KEY"
@tool
def selenium_browser(uri):
"""Fetch a page through the xclouds remote Selenium browser."""
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.chrome.options import Options as ChromeOptions
from urllib3.exceptions import MaxRetryError
try:
driver = webdriver.Remote(command_executor=XCLOUDS_SELENIUM_URL, options=ChromeOptions())
driver.get(uri)
page_source = driver.page_source
driver.quit()
except WebDriverException as e:
print(f"Error: {e.msg}")
except MaxRetryError as e:
print(f"Host is unavailable")
return page_source
# Don't like Selenium?
# You can create tool with Playwright, Puppeteer or CDP. We have it all!
# See our exmaples in proper sections after registration.
# Set PLAYWRIGHT_SERVER_URL in .env:
# wss://playwright.xclouds.dev/v1.58/?api_key=YOUR_API_KEY
# Or direct Playwright connection:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.connect(
ws_endpoint='wss://playwright.xclouds.dev/v1.58/?api_key=YOUR_API_KEY'
)
У вас будет персональный субдомен вида xxxxx.tunnel.xclouds.dev с поддержкой HTTPS/SSL. Это позволит бесшовно перенаправлять запросы от него к вашему приложению на localhost во время разработки и тестирования.
$ xclouds tunnel start --authtoken AUTH_TOKEN --local-port 81 Connecting to xclouds.dev... ✓ Tunnel active: https://a3f7c291.tunnel.xclouds.dev