# 无头浏览器

Headless Browser 允许你运行和控制远程无头浏览体验，而无需在本地或自有基础设施上管理它们的复杂性。它提供了一种无缝方式来执行基于浏览器的自动化、测试和网页抓取，而无需处理浏览器设置、资源限制或检测挑战。&#x20;

### 支持的库

Headless Browser 可与任何支持以下内容的库配合使用 **Chrome DevTools Protocol (CDP)**。其中包括：

* [Playwright](https://playwright.dev/) （对于 Firefox，受支持的 Playwright 版本为 1.51 和 1.56）
* [Puppeteer](https://pptr.dev/)
* 其他兼容 CDP 的自动化框架

### 浏览器选项

Headless Browser 提供两种专门的浏览器环境：

* [基于 Chrome 的浏览器](https://developers.oxylabs.io/scraping-solutions/headless-browser/chrome) – 在专用服务器上运行的高性能远程浏览器，具备高级隐匿能力，并集成代理
* [基于 Firefox 的浏览器](https://developers.oxylabs.io/scraping-solutions/headless-browser/firefox) （旧版）- Firefox 实现，内置反检测功能和代理集成。请注意，此环境即将弃用。

此外，Headless Browser 还提供两种与地理位置相关的功能：

* 面向美国用户的性能优化，
* 用于国家、城市和州级别定位的地理位置参数。

### **速率限制**

每个都有 **100 个并发会话** 并且每个浏览器最多可启动 **每秒 10 个会话** （Chrome 和 Firefox）。这可确保服务稳定性和性能。

如需为你的账户申请更高限制，请通过以下方式联系 Oxylabs 客服： [在线聊天](https://oxylabs.drift.click/oxybot) 或 [电子邮件](mailto:support@oxylabs.io).

### 快速开始示例

{% tabs %}
{% tab title="Python" %}

```python
from playwright.sync_api import sync_playwright

username = "your-username"
password = "your-password"
endpoint = "ubc.oxylabs.io"
browser_url = f"wss://{username}:{password}@{endpoint}"

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(browser_url)
    page = browser.new_page()
    page.goto('https://example.com')
    print(page.title())
    browser.close()
```

{% endtab %}

{% tab title="JavaScript（Playwright）" %}

```javascript
import { chromium } from 'playwright';

(async () => {
    const username = 'your-username';
    const password = 'your-password';
    const endpoint = 'ubc.oxylabs.io';
    const browserUrl = `wss://${username}:${password}@${endpoint}`;

    const browser = await chromium.connectOverCDP(browserUrl);
    const page = await browser.newPage();
    await page.goto('https://example.com');
    console.log(await page.title());
    await browser.close();
})();
```

{% endtab %}

{% tab title="JavaScript（Puppeteer）" %}

```javascript
import puppeteer from 'puppeteer';

(async () => {
  const username = 'your-username';
  const password = 'your-password';
  const endpoint = 'ubc.oxylabs.io';
  const browserUrl = `wss://${username}:${password}@${endpoint}`;

  const browser = await puppeteer.connect({
    browserWSEndpoint: browserUrl
  });
  const page = await browser.newPage();
  await page.goto('https://example.com');
  console.log(await page.title());
  await browser.close();
})();
```

{% endtab %}
{% endtabs %}

有关详细配置选项，请参阅特定浏览器的文档：

* [基于 Chrome 的浏览器](https://developers.oxylabs.io/documentation/cn/zhua-qu-jie-jue-fang-an/headless-browser/chrome)
* [基于 Firefox 的浏览器](https://developers.oxylabs.io/documentation/cn/zhua-qu-jie-jue-fang-an/headless-browser/firefox) （旧版）
