from selenium import webdriver
# 实现无可视化
from selenium.webdriver.chrome.options import Options
# 实现规避检测
from selenium.webdriver import ChromeOptions
# 实现无可视化界面的操作
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 实现规避检测
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
# 隐藏window.navigator.webdriver
option.add_argument("--disable-blink-features=AutomationControlled")
# 添加user-agent
option.add_argument(
'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36')
driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=chrome_options, options=option)
# 防止禁止selenium
script = 'Object.defineProperty(navigator,"webdriver",{get:()=>undefined,configurable: true});'
driver.execute_script(script)