# Firefox (Legacy)

Se puede probar un entorno de navegador basado en Firefox cuando el entorno de Chrome no ofrece resultados aceptables. El entorno de Firefox evita la detección de bots mediante modificaciones integradas e integración automática de proxy.

{% hint style="info" %}
El endpoint de Firefox admite **dos versiones de Playwright**: **1.51** y **1.56**. No se admiten otras versiones. Puede especificar la versión de Playwright mediante el parámetro `o_pw` por ejemplo:

`wss://USER:PASS@ubs.oxylabs.io?o_pw=1.56`&#x20;
{% endhint %}

## Detalles de conexión

Conéctese a UBS usando el siguiente endpoint de WebSocket:

```
wss://ubs.oxylabs.io
```

## Consideraciones importantes

* Requiere el uso explícito de la implementación `firefox` en bibliotecas de automatización
* Puede requerir pequeños ajustes en comparación con las soluciones basadas en Chrome

## Uso básico

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

```python
from playwright.sync_api import sync_playwright

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

with sync_playwright() as p:
    browser = p.firefox.connect(browser_url, timeout=60000)
    page = browser.new_page()
    page.goto('https://example.com')
    browser.close()
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
const { firefox } = require('playwright');

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

    const browser = await firefox.connect(browserUrl, { timeout: 60000 });
    const page = await browser.newPage();
    await page.goto('https://example.com');
    await browser.close();
})();
```

{% endtab %}
{% endtabs %}

## Infraestructura de proxy de Estados Unidos

Los usuarios que operan principalmente en EE. UU. pueden conectarse directamente a la infraestructura con base en EE. UU. mediante el punto de entrada especial. Esto garantiza un tiempo de carga más rápido y una mejor eficiencia de navegación. Para establecer la conexión, seleccione lo siguiente:

```
wss://ubs-us.oxylabs.io
```

Ejemplos de código:

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

```python
from playwright.sync_api import sync_playwright

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

with sync_playwright() as p:
    browser = p.firefox.connect(browser_url, timeout=60000)
    page = browser.new_page()
    page.goto('https://example.com')
    browser.close()
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
const { firefox } = require('playwright');

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

    const browser = await firefox.connect(browserUrl, { timeout: 60000 });
    const page = await browser.newPage();
    await page.goto('https://example.com');
    await browser.close();
})();
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Nota:** esta solución principalmente reduce el tiempo de respuesta para los usuarios con base en EE. UU. y no debe confundirse con la selección de la geolocalización del proxy. Más sobre esto en la siguiente sección.&#x20;
{% endhint %}

## Selección de país

Puede especificar un país para su sesión de navegador agregando el parámetro `?p_cc` a la URL de conexión. Aquí hay ejemplos:

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

```python
from playwright.sync_api import sync_playwright

username = "your-username"
password = "your-password"
endpoint = "ubs.oxylabs.io"
country = "US"  # Replace with desired country code
browser_url = f"wss://{username}:{password}@{endpoint}?p_cc={country}"

with sync_playwright() as p:
    browser = p.firefox.connect(browser_url, timeout=60000)
    page = browser.new_page()
    page.goto('https://example.com')
    browser.close()
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
const { firefox } = require('playwright');

(async () => {
    const username = 'your-username';
    const password = 'your-password';
    const endpoint = 'ubs.oxylabs.io';
    const country = 'US';  // Replace with desired country code
    const browserUrl = `wss://${username}:${password}@${endpoint}?p_cc=${country}`;

    const browser = await firefox.connect(browserUrl, { timeout: 60000 });
    const page = await browser.newPage();
    await page.goto('https://example.com');
    await browser.close();
})();
```

{% endtab %}
{% endtabs %}

Si no se especifica un país, el sistema asignará uno automáticamente según la disponibilidad.
