有些网站截图/采集时出现能识别机器人,找了好多资料,实测有效果的方案如下:
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--enable-javascript')
chrome_options.add_argument('--enable-internal-flash')
chrome_options.add_argument("--log-level=3")
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation']) #配合下面修改cdp参数
driver = webdriver.Chrome(service=chromedriver, options=chrome_options)
# 修改谷歌开发者工具中的新属性window.navigator.webdriver
# 在加载网页js之前,将window.navigator.webdriver属性隐藏
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""}) #核心,必需
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(window, 'chrome', {get: () => {}})"""},) #核心,必需