Описание
Когда для параметра «безголовый» установлено значение «виртуальный», окно браузера Camoufox по-прежнему отображается на экране в WSL2 в Windows 11. Цель состоит в том, чтобы браузер оставался полностью невидимым. Установка headless=False скрывает окно, но запускает капчу из таких систем, как Datadome, поэтому это нежизнеспособное решение.
Я проверил, что Xvfb установлен на виртуальной машине WSL, и выполнил инструкции из документации по Linux без заголовка.
Шаги по воспроизведению
- Используйте Windows 11 и установите WSL2.
- Следуйте инструкциям по установке Camoufox для Linux (документация).
- Запустите Camoufox программно через сервер FastAPI, установив headless="virtual".
- Обратите внимание, что окно браузера по-прежнему отображается.
Код: Выделить всё
async def scrape_sites(urls: list[str]) -> list[ScrapedSites]:
async with AsyncCamoufox(os="linux",
webgl_config=("Intel", "Intel(R) HD Graphics, or similar"),
humanize=True,
headless="virtual",
geoip=True,
enable_cache=True
) as browser:
try:
results = await asyncio.gather(
*[scrape_site(browser, url) for url in urls],
return_exceptions=True
)
final_results = []
for i, result in enumerate(results):
if isinstance(result, Exception):
print(f"Failed to scrape {urls[i]}: {result}")
final_results.append(result)
return final_results
finally:
try:
await browser.close()
except Exception:
pass
Код: Выделить всё
Pip package: v0.4.11
Camoufox: v135.0.1-beta.24
- Использование FastAPI для запуска браузера может быть неуместным, но включено для контекста.
- Поведение происходит несмотря на выполнение всех инструкций по настройке Xvfb/headless.
Подробнее здесь: https://stackoverflow.com/questions/798 ... s-set-to-v
Мобильная версия