You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Seleniumbase Chromedriver加载常规网页时冻结故障求助

解决SeleniumBase加载常规网页冻结问题

排查与修复步骤

1. 修正代码错误

你的代码存在明显用法错误:driver.get(page_source) 是无效调用,page_source是浏览器对象的属性而非URL。错误的get操作会尝试加载无效地址,直接导致浏览器挂起。修正后的代码:

#!/usr/bin/env python3
from seleniumbase import Driver
driver = Driver(uc = True, proxy = proxy_string)
# some code
driver.get(url)
page_source = driver.page_source  # 正确获取页面源码

2. 调整页面加载策略

升级到SeleniumBase 4.29后,默认的页面加载策略可能会等待所有资源(图片、样式、脚本)完全加载,部分网页的慢资源会触发冻结。可以修改加载策略减少等待时间:

driver = Driver(uc=True, proxy=proxy_string, page_load_strategy="eager")
  • eager:DOM加载完成即继续执行,无需等待静态资源加载完毕
  • none:完全不等待页面加载,适合无需依赖资源的场景

3. 测试禁用UC模式

UC模式(undetected-chromedriver)的反检测特性可能与新版ChromeDriver(126.0.6478.62)存在适配冲突。先临时禁用UC模式验证:

driver = Driver(proxy=proxy_string)  # 移除uc=True参数

如果禁用后恢复正常,说明UC模式需要适配,可尝试降级到SeleniumBase 4.28版本:

pip install seleniumbase==4.28

4. 排查代理问题

代理可能阻塞了HTML页面的静态资源请求(CSS、JS等),而JSON页面因资源量小不受影响。可以暂时移除代理测试:

driver = Driver(uc=True)  # 移除proxy参数

若移除代理后正常,需检查代理的稳定性,或为代理添加静态资源的访问白名单。

5. 清理浏览器缓存

UC模式会生成专属的浏览器缓存目录,旧缓存可能导致加载冲突。可以指定新的用户数据目录,或清理旧缓存:

driver = Driver(uc=True, proxy=proxy_string, user_data_dir="/tmp/new_chrome_profile")

内容的提问来源于stack exchange,提问作者LukSkyWokka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 07:47:35