def login(extension_path,tmp_path): chrome_options = webdriver.ChromeOptions() # 设置好应用扩展 chrome_options.add_extension(extension_path) #添加下载路径 prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory':tmp_path, "profile.default_content_setting_values.automatic_downloads":1}#允许多个文件下载 chrome_options.add_experimental_option('prefs', prefs) #修改windows.navigator.webdriver,防机器人识别机制,selenium自动登陆判别机制 chrome_options.add_experimental_option('excludeSwitches', ['enable-automation']) drive = webdriver.Chrome(chrome_options=chrome_options) #CDP执行JavaScript 代码 重定义windows.navigator.webdriver的值 drive.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, 'webdriver', { get: () => undefined }) """ }) url = 'https://sycm.taobao.com/portal/home.htm' drive.implicitly_wait(10) drive.get(url) input("请手动登录,成功后输入【1】:") #叉掉页面无关元素后再输入1继续执行 drive.maximize_window() #窗口最大化 tm=random.uniform(1,2) time.sleep(tm) return drive
https://blog.csdn.net/qq_35866846/article/details/105712147