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

Playwright Python如何在指定步骤后停用代理改用本地网络

Playwright Python 代理切换实现方案

核心实现思路

Playwright的浏览器上下文启动后无法直接修改代理配置,所以我们通过「保存登录会话状态 + 重启无代理上下文」的方式实现切换,既保留登录状态,又能切换到本地网络:

  • 先用带代理的上下文完成谷歌登录和目标按钮点击操作
  • 导出该上下文的会话数据(Cookie、LocalStorage等)
  • 关闭带代理的上下文,创建全新的无代理上下文
  • 导入之前保存的会话状态,继续后续本地网络操作

完整代码示例

from playwright.sync_api import sync_playwright

def main():
    with sync_playwright() as p:
        # 配置代理参数,替换成你实际的代理信息
        proxy_settings = {
            "server": "http://your-proxy-address:port",
            "username": "proxy-username",  # 不需要认证可删除这两行
            "password": "proxy-password"
        }

        # 启动带代理的浏览器上下文
        browser = p.chromium.launch(headless=False)
        proxy_context = browser.new_context(proxy=proxy_settings)

        # 执行谷歌登录流程
        page = proxy_context.new_page()
        page.goto("https://accounts.google.com")
        # 这里填写你的登录逻辑:输入账号、密码、处理验证等
        # ...

        # 点击目标按钮
        page.click("text='YourselfChoose if your account is for personal'")  # 请根据实际页面调整选择器

        # 保存登录会话状态到本地文件
        proxy_context.storage_state(path="google_session.json")

        # 关闭带代理的上下文,节省流量和资源
        proxy_context.close()

        # 创建无代理的新上下文,加载之前保存的会话状态
        no_proxy_context = browser.new_context(storage_state="google_session.json")

        # 在无代理上下文里继续后续操作
        new_page = no_proxy_context.new_page()
        new_page.goto("https://your-next-target-url.com")  # 现在使用本地网络访问
        # 后续业务逻辑代码
        # ...

        # 清理资源
        browser.close()

if __name__ == "__main__":
    main()

关键说明

  • 代理配置:替换proxy_settings里的服务器地址、账号密码,无认证需求可删除username和password字段
  • 元素选择器:按钮的选择器请根据实际页面DOM结构调整(比如用CSS选择器"button[data-testid='personal-account-btn']")
  • 会话状态:storage_state方法会把登录后的Cookie、LocalStorage等数据保存到JSON文件,新上下文加载后直接保持登录状态
  • 异步版本:如果使用异步Playwright,只需替换sync_playwright为async_playwright,并给所有异步方法添加await关键字即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:05:17