@Lim_Drake

Как в вебдрайвере Selenium добавить блокировщик рекламы AdBlock?

Здравствуйте, при парсинге у меня стояла задача - собрать номера телефонов клиентов. Делаю я это, используя Selenium chromedriver, так как необходимо нажать на кнопку, чтобы появился телефон. С этой задачей я справился, парсер работает, но у меня появилась проблема, что из-за всплывающей рекламы на сайте Selenium иногда не может кликнуть по кнопке.
Я узнал, что есть возможность интегрировать AdBlock в Selenium. Я пробовал искать документацию, но ничего не нашел.
Хотел бы получить ссылки на ресурсы, где я смогу ознакомиться с данной функцией Selenium'а подробнее.
Так как я все же встречал подобные вопросы в сети, и там были некоторые решения: вот тут!
У меня появился также вопрос, где я могу достать сами файлы AdBlock'а, чтобы использовать их как в примере?
Возможно использовать файлы расширения от Google Chrome, которые я нашел в файлах браузера, то есть я укажу путь к этим файлам, будет ли это работать?
  • Вопрос задан
  • 1984 просмотра
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Можно не придумывать велосипеды, а использовать постоянный профиль.
Оба варианта рабочие 100 пистонов!
Проверял лично на Linux Mint 19.3 и Windows 10 20H2.
Если при запуске профиля не существует, chrome сам его создает. При закрытии профиль сохраняется и при следующем запуске подхватывает его со всеми настройками и расширениями.

Код (для Linux):
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("user-data-dir=/home/sergey/SeleniumProfile")
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://google.com")

Запускаете его, он создает профиль. Далее в браузере идете в магазин с расширениями и устанавливаете себе любые расширения. Все! При следующем запуске кода selenium будет использовать данный профиль вместе с расширениями.
5fba809595a29657435273.png
Вот код для Windows:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("user-data-dir=C:\\profile")
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://google.com")

5fba9f0f92a7f243822459.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы