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

使用Playwright Context导航必应搜索时页面空白问题求助

Playwright中Browser Context下必应搜索页空白问题解决办法

问题复现

直接通过browser.new_page()创建页面时,必应首页及搜索页均能正常加载;但通过browser.new_context()创建上下文后再生成页面,必应首页加载正常,跳转至搜索页(如https://bing.com/search?q=Google+search)时页面空白。该问题仅在必应搜索中出现,谷歌搜索无异常,GUI模式下同样存在。

解决方案

1. 显式设置用户代理(User-Agent)

必应的反爬机制可能识别到Browser Context默认的UA为非标准浏览器,设置常见的浏览器UA即可规避:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    # 模拟Chrome浏览器的UA
    browser_context = browser.new_context(
        user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    )
    page = browser_context.new_page()

    page.goto("https://bing.com")
    input("->")

    page.goto("https://bing.com/search?q=Google+search", wait_until="networkidle")
    input("->")

2. 调整页面加载等待策略

默认的wait_until可能不足以等待必应搜索页完全渲染,设置为networkidle或手动等待关键元素加载:

# 方法1:设置wait_until为networkidle
page.goto("https://bing.com/search?q=Google+search", wait_until="networkidle")

# 方法2:手动等待搜索结果容器加载
page.goto("https://bing.com/search?q=Google+search")
page.wait_for_selector("#b_results", timeout=10000)

3. 禁用上下文缓存

Context的缓存可能导致页面加载异常,创建上下文时禁用缓存:

browser_context = browser.new_context(
    # 禁用缓存
    extra_http_headers={"Cache-Control": "no-cache"}
)

4. 复用默认浏览器上下文配置

直接复用browser.new_page()时的上下文配置,确保和正常页面环境一致:

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    # 获取默认页面的上下文配置
    default_page = browser.new_page()
    context_storage = default_page.context.storage_state()
    default_page.close()

    # 用默认配置创建新上下文
    browser_context = browser.new_context(storage_state=context_storage)
    page = browser_context.new_page()

    page.goto("https://bing.com")
    input("->")

    page.goto("https://bing.com/search?q=Google+search")
    input("->")

说明

必应对不同上下文环境的检测较为严格,上述方案中设置UA和调整等待策略是最常见的解决方式。如果仍有问题,可以尝试开启Playwright的追踪功能(browser_context.tracing.start())排查页面加载的网络请求异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 05:11:18