1. Desative o aviso de que o navegador Chrome é controlado automaticamente
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation'])
2. Feche a janela pop-up para salvar a senha
options.add_experimental_option("prefs",
{ "credentials_enable_service": False,
"profile.password_manager_enabled":False,
})
3. Baixe automaticamente para o diretório especificado ao baixar arquivos, não abra a caixa de diálogo Salvar arquivo
options.add_experimental_option("prefs",
{ "download.default_directory": r'd:\temp', # 设置默认保存文件路径
"download.prompt_for_download": False, # 设置保存文件之前是否弹出保存对话框
"download.directory_upgrade": True,
})
4. Não escaneie o arquivo após baixá-lo para reduzir o tempo de espera
options.add_argument('--safebrowsing-disable-download-protection')
options.add_experimental_option("prefs",
{ "safebrowsing.enabled": False,
"download.directory_upgrade": True,
})
5. Desative o prompt se deseja permitir que vários arquivos sejam baixados ao mesmo tempo
options.add_experimental_option("prefs",
{ "profile.default_content_settings.popups": 0,
"profile.default_content_setting_values.automatic_downloads": 1
})
6. Ignore o rastreador de detecção de sites
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": "Object.defineProperty(navigator, 'webdriver', {get: () => False}) "})
Observação: esta instrução está após a instrução options.add_argument() e driver = webdriver.Chrome(options=options). Ele pode efetivamente resolver o problema que o webdriver abre alguns sites mostrando páginas em branco.
7. Exibição forçada da versão em inglês do site
Ele pode resolver o problema de o navegador mudar para a versão chinesa do site por iniciativa própria ao abrir alguns sites estrangeiros (como: um site de rede social britânico)
options.add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'})
8. Definir proxy
options.add_argument('--proxy-server=127.0.0.1:8080')
9. Adicione manualmente o user-agent
Ele pode efetivamente resolver a situação anormal de visitar o site no modo headless, consulte minha outra postagem no blog: https://blog.csdn.net/Scott0902/article/details/129384085
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
options.add_argument(f'user-agent={user_agent}')