# Firefox (Legado)

Um ambiente de navegador baseado em Firefox pode ser testado quando o ambiente Chrome não consegue fornecer resultados aceitáveis. O ambiente Firefox evita a detecção de bots por meio de modificações integradas e integração automática de proxy.

{% hint style="info" %}
O endpoint do Firefox suporta **duas versões do Playwright**: **1.51** e **1.56**. Outras versões não são suportadas. Você pode especificar a versão do Playwright por meio do `o_pw` parâmetro, por exemplo:

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

## Detalhes da conexão

Conecte-se ao UBS usando o seguinte endpoint WebSocket:

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

## Considerações importantes

* Requer o uso explícito da `firefox` implementação em bibliotecas de automação
* Pode exigir pequenos ajustes em comparação com soluções baseadas em 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 %}

## Infraestrutura de proxy dos Estados Unidos

Usuários que operam principalmente nos EUA podem se conectar diretamente à infraestrutura baseada nos EUA por meio do ponto de entrada especial. Isso garante tempo de carregamento mais rápido e melhor eficiência de navegação. Para estabelecer a conexão, selecione o seguinte:

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

Exemplos 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" %}
**Observação:** esta solução principalmente reduz o tempo de resposta para usuários baseados nos EUA e não deve ser confundida com a seleção de geolocalização de proxy. Mais sobre isso na seção seguinte.&#x20;
{% endhint %}

## Seleção de país

Você pode especificar um país para sua sessão do navegador adicionando o `?p_cc` parâmetro à sua URL de conexão. Aqui estão exemplos:

{% 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 %}

Se nenhum país for especificado, o sistema atribuirá automaticamente um com base na disponibilidade.
