Как скрыть, что ты зашел через selenium?
Использую chromedriver. Как скрыть от сайта, что ты зашел на него при помощи Selenium?
Ответы (6 шт):
Добавьте user-agent аргументом в Options, например:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
opts = Options()
opts.add_argument("user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36")
driver = webdriver.Chrome(chrome_options=opts)
Я делаю так
from fake_useragent import UserAgent
from selenium import webdriver # Вебморда
from time import sleep # Для таймаута
from selenium.webdriver.chrome.options import Options # Опции селениума
while True:
ua = UserAgent()
opts = Options()
us_ag = ua.random # Меняет регулярно юзер-агенты при запросе
url = 'https://2ip.ru' # Сайт для проверки измененного юзерагента
print(us_ag)
opts.add_argument(f"user-agent={us_ag}") # Десктопный useragent
driver = webdriver.Chrome(chrome_options=opts) # Иногда нужно явно указать адрес
# web драйвера executable_path=r"F:\GIT\siteparser\seleniumparse\chromedriver.exe"
driver.get(url) # Открываем в браузере что бы убедиться в применении юзер-агента
sleep(10)
driver.close()
попробуй использовать FireFox и всавить вот такой код:
option = webdriver.FirefoxOptions()
# убирает флажок что автоматизированное ПО управляет браузером
option.set_preference("dom.webdriver.enabled", False)
# подмена user-agent
option.set_preference("general.useragent.override", # вот сюда нужно ввести user-agent)
driver = webdriver.Firefox(options=option)
мне это помогло
Проверить видит ли сайт использование webdriver можно здесь
Отключить в хроме можно так:
options.add_argument("--disable-blink-features=AutomationControlled")
Посмотреть видеогайд по отключению можно тут
У меня версия Chrome 97.0.4692.71 работает только этот вариант.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
EXE_PATH = r'..\chromedriver.exe'
opts = Options()
opts.add_experimental_option("excludeSwitches", ["enable-automation"])
opts.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(chrome_options=opts, executable_path=EXE_PATH)
driver.get('https://google.com')
time.sleep(10)
Хотя считается, что начиная с версии 79.0.3945.16 должен работать данный вариант:
option.add_argument('--disable-blink-features=AutomationControlled')
Используйте selenium stealth.. Пакет python selenium-stealth для предотвращения обнаружения. Эта программа пытается сделать python selenium более скрытным.
На данный момент selenium-stealth поддерживает только Selenium Chrome.
Проходит все результаты на скрытность webdriver.
Можете сами почитать (там не много) и попробоватьselenium-stealth 1.0.6