Парсер на Selenium не открывает страницы: что делать
Если вы написали парсер на Python с библиотекой Selenium, но при запуске браузер (Chrome, Firefox) открывается с пустой страницей - в адресной строке отображается data:; или about:blank, - это типичная ошибка конфигурации. Разберём основные причины и способы решения.
Почему Selenium показывает data:; или about:blank
Пустая страница при старте веб-драйвера обычно связана с неправильными настройками опций браузера, отсутствием драйвера или некорректной инициализацией WebDriver. Рассмотрим каждый случай.
1. Неправильные аргументы ChromeOptions
Частая причина - использование опции --headless вместе с --disable-gpu или --no-sandbox без указания URL. Убедитесь, что после создания драйвера вы явно вызываете driver.get('https://example.com'). Пример корректного кода:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
driver.get('https://www.google.com') # обязательно указать URL2. Проблемы с версией драйвера
Если версия chromedriver не соответствует версии установленного Chrome, браузер может открываться, но не загружать страницы. Проверьте совместимость:
- Откройте Chrome → «Справка» → «О браузере» - узнайте версию.
- Скачайте chromedriver той же версии с официального сайта.
- Обновите библиотеку Selenium:
pip install --upgrade selenium.
3. Конфликт с профилем браузера
Иногда Selenium использует существующий профиль Chrome, в котором настроены блокировщики рекламы или расширения, мешающие загрузке. Попробуйте запустить драйвер с чистым профилем:
options.add_argument('--user-data-dir=/tmp/new-profile')4. Отсутствие прав доступа (Linux/Mac)
На Linux или macOS chromedriver может не иметь прав на выполнение. Выдайте права: chmod +x /path/to/chromedriver.
Решение для Firefox (GeckoDriver)
Аналогичная проблема возникает и с Firefox. Убедитесь, что установлен geckodriver, а в коде прописан корректный путь:
from selenium import webdriver
driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
driver.get('https://example.com')Если после всех шагов страница всё равно пустая, проверьте логи драйвера - в них часто указана точная причина сбоя. Включите логирование:
import logging
logging.basicConfig(level=logging.DEBUG)Альтернативы Selenium для парсинга
Если проблема не решается, рассмотрите другие инструменты:
- Playwright - современная библиотека для автоматизации браузеров с лучшей обработкой динамики.
- Requests + BeautifulSoup - если сайт не использует JavaScript.
- Scrapy - мощный фреймворк для масштабного сбора данных.
Помните: пустая страница в Selenium - это не ошибка кода, а сигнал о неверной настройке окружения. Проверьте все пункты выше, и ваш парсер заработает.