Существует ли современная технология для обнаружения нашего chrome, управляемого веб-драйвером? - PullRequest
2 голосов
/ 18 февраля 2020

Я использую сканер на основе Webdriver для сбора информации с китайского новостного сайта ( Toutiao ). С 2020 года ФРС. 16 я обнаружил, что сайт не отвечает ни на какие данные chrome, управляемые программой webdriver, но chrome начал нормально работать вручную (как показано на рисунке ниже).

Левая сторона - chrome запускается вручную, правая сторона chrome управляется веб-драйвером.

enter image description here

Два цвета работают на одном IP, и я определил один и тот же Пользователь-агент для двоих chrome. Кроме того, я использую следующие коды (из DebanjanB ) для удаления «navigator.webdriver» (как показано на рисунке выше, код выполнен успешно):

options = webdriver.ChromeOptions() 
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'./chromedriver')
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})

Summery, тот же IP , User-agent и "navigator.webdriver" удалены. Почему веб-сайт все еще обнаруживает, что мой chrome контролируется веб-драйвером?

ОБНОВЛЕНИЕ

Сайт получает контент через URL-адрес. Если я копирую и получаю доступ к URL-адресу (с зашифрованными параметрами) с ручного запуска chrome на управляемый веб-драйвером chrome, сервер отправит соответствующую информацию на веб-драйвер.

Итак, веб-сайт определенно обнаружит веб-драйвер при генерации URL и его зашифрованные параметры.

ОБНОВЛЕНИЕ 2

Дискуссия " Может ли веб-сайт определить, когда вы используете селен с хроматографом? " не решает проблему, пожалуйста примечание!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...