无头浏览器+规避检测

无头浏览器 规避检测

针对有些网站检测selenium是否无头浏览器的检测,可以使用规避检测来进行伪装
使用的是,chrome 79以后版本

# -*- ecoding: utf-8 -*-
# @ModuleName: 5、无头浏览器器和规避检测
# @Function: 
# @Author: merry
# @Time: 2021/1/25 11:34
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from time import sleep

# 定义无头浏览器
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')

bro = webdriver.Chrome(executable_path='./chromedriver', options=chrome_options)
# 规避检测
bro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})

bro.get('https://www.baidu.com')
sleep(3)

print(bro.page_source)
bro.save_screenshot('1.png')

bro.quit()

原文地址:https://www.cnblogs.com/merryblogs/p/14324411.html