SeleniumBase的CDP模式下如何禁用网络?
如何在SeleniumBase的CDP模式下加载完成后禁用网络?
你的问题出在代码执行顺序上:sb.activate_cdp_mode(link)会重新加载目标页面,导致之前的等待操作和Network.disable命令失效——页面重新加载后,CDP会话的状态会被重置,网络请求会再次恢复。
正确的操作流程应该是:
- 先激活CDP模式并加载目标页面
- 等待页面完全加载完成
- 再执行
Network.disable命令禁用网络
修改后的代码示例:
from seleniumbase import SB with SB(uc=True, locale_code="en", headless=False, block_images=True) as sb: link = "https://finance.yahoo.com/" print(f"\nOpening {link}") # 先激活CDP模式并加载页面 sb.activate_cdp_mode(link) # 等待页面加载完成 sb.wait_for_ready_state_complete(timeout=120) # 此时执行禁用网络的CDP命令 sb.execute_cdp_cmd('Network.disable', {}) sb.sleep(10000)
这样调整后,页面加载完成后网络会被成功禁用,你在浏览器开发者工具的网络标签里就不会看到后续的网络流量了。
内容的提问来源于stack exchange,提问作者sudoExclamationExclamation
相关产品推荐
相关产品推荐

