如何修复Selenium WebDriver适配Chrome v111.x的空白页问题?
检查Chrome与ChromeDriver版本匹配
Chrome自动更新后,旧驱动大概率会不兼容。先打开Chrome的设置>关于Chrome查看当前版本,然后下载对应大版本的ChromeDriver替换项目里的驱动文件,注意区分操作系统和位数。验证目标网站的可达性
手动用Chrome访问目标网站,确认不是网站本身故障、网络限制(比如内网权限、VPN未开启)导致的问题。如果手动也打不开,先解决网络或网站端的问题。核对代码中的URL正确性
确保driver.get()方法传入的URL是完整的,比如不能只写www.example.com,必须带上http://或https://前缀,否则会导致浏览器无法正确解析地址。暂时禁用无头模式(如果开启)
无头模式的某些配置可能引发加载异常,先注释掉代码中--headless=new这类参数,用正常窗口模式运行测试,看是否能正常加载页面。清理Chrome临时配置缓存
Selenium启动的Chrome会使用临时配置,缓存异常可能导致空白页。可以通过指定临时用户目录并禁用缓存的方式解决,以Python为例:from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("--user-data-dir=C:/Temp/ChromeTempProfile") # 自定义临时目录 options.add_argument("--disable-cache") driver = webdriver.Chrome(options=options)其他语言可参照对应方式配置ChromeOptions参数。
排查冲突的启动选项
自定义的Chrome启动参数可能互相冲突,比如--incognito与某些隐私设置、--disable-javascript导致网站无法渲染。先简化启动选项,只保留必要参数,逐步排查问题。更新Selenium库到最新稳定版
旧版Selenium对新版Chrome的支持不足,用包管理器更新到最新版:Python执行pip install --upgrade selenium,Java通过Maven/Gradle更新依赖。
内容的提问来源于stack exchange,提问作者ramyas

