无头浏览器 规避检测
针对有些网站检测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()