登录账号密码后,浏览器会显示'要保存密码吗'的提示框,弹框会遮挡部分元素的获取,导致定位失败报错;且有些系统会加载大量的图片,会导致页面加载时间过长,影响自动化效率,而且我们做自动化测试不需要关注这些图片,怎么处理这两个问题?可以在获取driver的时候添加下面的代码,置禁用图片加载、禁用登录成功后Chrome提示保存密码的弹框(在确定Webdriver实例的时候就可以加入这段代码)
service = Service('chromedriver路径\\chromedriver.exe')
prefs = {
"profile.managed_default_content_settings.images": 2,
"credentials_enable_service": False,
"profile.password_manager_enabled": False
}
options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(service=service, options=options)
prefs 是一个字典,包含了一些Chrome浏览器的配置选项。
"profile.managed_default_content_settings.images": 2: 这个设置控制了浏览器中图片的加载行为。数字2表示禁止加载图片。
"credentials_enable_service": False: 这个设置禁用了浏览器的凭据服务,通常用于禁用自动填充密码等功能。
"profile.password_manager_enabled": False: 这个设置禁用了密码管理器功能,这意味着浏览器将不会保存或自动填充密码。
options.add_experimental_option("prefs", prefs): 这一行代码将上述定义的prefs字典作为一个实验性选项添加到Chrome浏览器的配置选项中。这种方式允许你通过编程的方式来配置和控制浏览器的行为