Кукловод Удалить Навигатор.Вебривер - PullRequest
0 голосов
/ 26 декабря 2018

Я использую кукловод для соскоба.Я могу передать navigator.webdriver property = false, но мне нужно полностью удалить эту подпорку.

https://bot.sannysoft.com/

Я попытался передать false в navigator.webdriver.Этот трюк может пройти на https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html

, но на https://bot.sannysoft.com/ cant.

вот бот для тестирования веб-страниц.Этот тест ищет, есть ли в объекте навигатора реквизит "webdriver".Не важно, правда это или нет.Мне нужно удалить эту опору веб-драйвера из браузера.

Ответы [ 3 ]

0 голосов
/ 08 апреля 2019

Поскольку я не могу комментировать, я оставлю ответ:

У меня был тот же вопрос, и ответ @ Nodarius работал на меня.Поскольку вы не приняли его, я полагаю, что ваша проблема все еще сохраняется.

Возможно, это связано с тем, что, даже если вы запускаете его, этот код необходимо запустить до загрузки страницы (или до того, как веб-сайт получит доступ кпеременная).

Я добился этого с помощью прокси-сервера (https://mitmproxy.org/), который загружает скрипт до загрузки страницы.

Надеюсь, это поможет.

0 голосов
/ 14 мая 2019

Это работает

await page.evaluateOnNewDocument(() => {
  window.navigator = {}
})
0 голосов
/ 25 февраля 2019

Попробуйте это:?

const newProto = navigator.__proto__;
delete newProto.webdriver;
navigator.__proto__ = newProto;
...