@callb3ck

Как убрать браузером Chrome управляет автоматизированное тестовое ПО?

Здравствуйте!Вот мой код:
import selenium
from selenium import webdriver
from selenium.webdriver import ChromeOptions, Chrome
opts = ChromeOptions()
opts.add_experimental_option("detach", True)
opts.add_argument("--start-maximized")
opts.add_argument("--user-data-dir=C:\\Users\\fuckpython\\AppData\\Local\\Google\\Chrome\\User Data\\Default")
opts.add_experimental_option('useAutomationExtension', False)
opts.add_argument("--disable-blink-features")
opts.add_argument("--disable-blink-features=AutomationControlled")

driver = webdriver.Chrome(chrome_options=opts)
driver.get('https://www.google.com/')

Как сделать так чтобы браузером не управляло тестовое ПО. Скорее всего нужно как-то скрыть работу вебдрайвера, но как это сделать?Я перепробовал очень много вариантов, но к правильному так и не пришёл. Помог, скрипт который делает вебдрайвер незаметным, но он работает нестабильно(при переходе на другой сайт, он понимает что запросы поступают через вебдрайвер. Вот сам скрипт:
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
     "source": """
          const newProto = navigator.__proto__
          delete newProto.webdriver
          navigator.__proto__ = newProto
          """
    })

60abf4ac6e1a3177614229.jpeg
  • Вопрос задан
  • 7242 просмотра
Пригласить эксперта
Ответы на вопрос 2
@GeneD88
QA
Для начала - для чего используется скрипт?
Есть защиты, которые ни подмена юзер-агента, ни выставление других параметров в заголовках не помогают.

Если просто, что бы убрать это надоедливое сообщение, тогда:
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation']);
Ответ написан
Комментировать
Dunaevlad
@Dunaevlad
Мой Вам совет, используйте библиотеку dryscrape, вы даже браузер не увидите))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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